是否可以从外部类中初始化具有标记为私有的构造函数的内部类的实例。我的印象是,一旦一个构造函数被声明为私有,除了类本身之外,没有人可以创建该类的实例。示例
Public class Outerclass
{
newinstance = new Innerclass();
private final class InnerClass
{
private InnerClass(//paremeters)
{
//constructor declaration inside
我有两个类似下面的类
public class A{
private static class B{
private static int s1;
private static int s2;
private int x;
}
}
在类B中,所有字段都是私有的,并且这些所有字段在类A中都不应该被访问。但有一个“奥秘”,即静态字段在类A中是可访问的,并且
private int x
是不可访问的。我的问题是,为什么私有静态字段在A类中是可访问的?
注意:我的B类是静态的,它的构造函数是私有的。
我已经公开了一个"Utils“类,在其中我放置了一些常用的通用静态方法。在这个Utils类中,我创建了一个私有的静态内部类,它是Utils提供的一些“工具”。(该工具是满足我需要的某种解析器)。Utils中的一个方法返回解析器的一个新实例,一切正常。“问题”是,对于解析器中的每个公共方法,我都会收到警告,这不是从包含的Utils类中调用的。
这是它外观的骨架:
public class Utils
{
public static Parser(String[] msgs) throws Exception
{
return Parser.create(
我正在学习java的内部类。我已经看到,如果内部类是非静态的,那么它可以很容易地访问外部类变量。但是,如果内部类是静态的,那么我们如何使用静态的类对象来访问外部类的变量呢?
下面是我的代码,其中我从内部类访问外部类变量
package org;
public class Outerclass {
String name = "Europe";
public String getname() {
return name;
}
public void setname(String name) {
this
我在Java中有以下代码,我想将其转换为Kotlin:
class RideHistoryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
class HistoryItemHolder extends RecyclerView.ViewHolder {
private static final int TYPE_IN_PROGRESS = 1
private static final int TYPE_CANCELLED = 2
private s
我有一个场景,其中有一个公共外部类和一个私有内部类。现在我想创建这个私有内部类的一个对象,用于对其中的方法进行单元测试。
public class MyOuterClass {
public MyOuterClass() { }
private class MyInnerClass {
public MyInnerClass() { }
}
}
这就是我试图从其他测试类创建一个"MyInnerClass“对象的场景。我找到了使用私有构造函数创建类的对象的解决方案,但这不是我所需要的。请帮我弄一下这个。提前谢谢。
为什么这段代码不能工作
public class BB
{
private class A
{
private int x;
}
public static void main(String[] args)
{
A a = new A();
a.x = 100;
System.out.println(a.x);
}
}
在这段代码起作用的时候?
public class BB
{
private class A
{
private int x;
我发现了一些类似于此的帖子,但找不到一个能敏锐地解释这一点的答案。我已经执行了一个类的嵌套,即类'inside‘存在于类’of‘中,并尝试实例化内部类,这就是我遇到的场景。
就C#而言:
class outside
{
public class inside
{
public void print()
{
System.Console.WriteLine("I am inside");
}
}
}
我知道我们可以嵌套一个类来访问它的私有字段和方法,就像下面的例子,它编译得很好:
public class Outer {
Inner inner = new Inner();
public class Inner {
private Inner() {
}
}
}
然而,我想要实现的是这样的:
public class A {
B b = new B();
}
class B {
private B() { // error: B() has private access in B
}
}
我知道在C++
为什么d不能从内部类访问,而b可以从同一个类访问?
public class Outer {
public int a = 1;
private int b = 2;
public void method(final int c) {
int d = 3;
class Inner {
private void iMethod(int e) {
}
}
}
}
程序的输出是A,,不是B。如果我将类A中的方法修饰符更改为public,则输出为B。有人能解释一下这是怎么回事吗?
代码:
public class HelloWorld {
public static void main(String[] args) {
HelloWorld hw = new HelloWorld();
hw.createInstance();
}
public void createInstance() {
A b = new B();
b.isTrue();
}
假设我正在编写一个PHP5.0类,它意味着它是一个独立的类。我读过的所有文档都是为了使类构造函数成为私有的,所以不能直接实例化类。
所以如果我有这样的东西
class SillyDB
{
private function __construct()
{
}
public static function getConnection()
{
}
}
是否有__construct()被调用的情况?
new SillyDB()
在教室里打电话?
为什么允许我从内部实例化SillyDB呢?
我有一个非常基本的问题,甚至会惹恼你,但当我开始阅读Visualc#电子书时,我就会想到这个问题。
他们提到::令人惊讶的是,循环类目前没有实际用途。默认情况下,当您将方法和数据封装到类中时,该类将形成与外部世界的边界。类中定义的字段(如radius)和方法(如Area)可以由类内的其他方法看到,但不能由外部世界看到--它们对类是私有的。所以,尽管您可以在程序中创建一个循环对象,但是您不能访问它的半径字段或调用它的Area方法,这就是为什么这个类没有多大用处的原因--还!但是,您可以使用public修改字段或方法的定义。
这是给出的循环类
class Circle
{
int radi
感谢大家修改格式等,这是全新的
我最近开始学习java,在一次练习中我想到了一个问题,如果我错过了发布规则,很抱歉:
为了计算从一个Mypoint到另一个MyPoint的距离,我决定为另一个MyPoint使用getter,因为x和y对于另一个应该是私有的,不能用于点操作(另一个.x,另一个.y);
public class MyPoint {
private int x;
private int y;
public int getX() {
return x;
}
pub
你好,我是一个初学者程序员,所以请原谅n=me,如果这个问题已经回答或没有意义。我的问题是我使用的是C#,我不能从我创建的一个文件中访问一个标签。但是,在我重新启动计算机之前,该文件一直在工作。这是密码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Resources;
namespace Moneypoly
{
public partial class mainForm
{
public class ch
使用C# 10和Net6,我有(简化代码):
public class DefaultsBase {
public Int32 Repeats { get; set; } = 10;
}
public abstract class StrategyBase {
public abstract String Name { get; }
public abstract DefaultsBase Defaults { get; }
}
public class MonthlyStrategy : StrategyBase {
public override String N
如果我有一个嵌套的类,在拥有的类中是否存在来自拥有类的任何东西?
例如:
public class OwningClass
{
int randomVariable = 1;
public void MakingMethod()
{
OwnedClass owned = new OwnedClass();
owned.SomeMethod();
}
private class OwnedClass
{
public void SomeMethod()
{
我按照Singleton模式编写了一个类,接下来我想为它编写一个内部类。让我担心的是,内部类能够访问所有外部类--私有字段,包括单个实例的私有字段--我认为私有构造函数也是如此。
当一个人能够访问内部类的构造函数时,是否有可能攻击该单例并创建它的第二个实例?
我想从内部类的实例导航到类的构造函数。例如:
class Outer{
private static Outer instance;
private Outer(){}
public static Outer getInstance(){
if(instance==null)instance= new O
我希望从Microsoft.Kinect.JointCollection类派生出一个类。
public class Derived : JointCollection
{
public string NewItem;
public Derived ()
{
}
}
错误:
The type 'Microsoft.Kinect.JointCollection' has no constructors defined.
问题是什么,我如何解决?
我以前从未尝试过编写以下代码,因为它在生产中没有多大意义。但令我惊讶的是,这段代码编译成功。为什么被设计为允许在同一个类的实例上从静态方法调用私有方法?
public class Beverage {
private void drink () {
System.out.println("Beverage");
}
public static void main (String[] args) {
Beverage b = new Beverage();
b.drink(); //call to
可能重复:
我肯定这个问题已经问过了,但我找不到一个,所以我会问.
我很好奇私人(受保护)和公共内部阶级之间有什么区别。我可以使用外部类对象从包含的类中同时使用这两个类。
public class A{
private class B{
}
public static void main(String[] args){
A a = new A();
B b = a.new B();
}
}
让我们看看这个类:
public class Cluster
{
private List<Point> points; //private field
public float ComputeDistanceToOtherClusterCLINK(Cluster cluster)
{
var max = 0f;
foreach (var point in cluster.points) // here points field are accessible