问题2:一般在构造器前用private修饰目的是什么?我实在想不出要让构造器private的理由,请教下大家。
6 个解决方案
#1
问题2:不能被其他类或用他的类 实例化!
具体你可以去看看sington的实现
具体你可以去看看sington的实现
#2
1、对于内部类来说,就像一个类的属性一样,对于类本身而言,是可以访问的,而对于其他的类来访问,必须通过这个类去访问他的内部类
2、一个构造器默认的方法就是public,当我们在构造器前加上private之后,我们就不能在外部来对其进行实例化了,如果我们需要访问它,
则必须通过内部方法来访问它,这个一般在很多单例模式中可以看到,它的作用就是不能让别人直接访问它,而必须通过某个方法来访问
2、一个构造器默认的方法就是public,当我们在构造器前加上private之后,我们就不能在外部来对其进行实例化了,如果我们需要访问它,
则必须通过内部方法来访问它,这个一般在很多单例模式中可以看到,它的作用就是不能让别人直接访问它,而必须通过某个方法来访问
#3
问题1:可以
问题2:单例模式时就可以用
问题2:单例模式时就可以用
#4
第二个问题我懂了,但是第一个问题,怎么访问啊?
public class TestInner {
class Inner{
public int a = 10;
public int get(){
return a;
}
}
public static void main(String[] args){
TestInner testInner = new TestInner();
//这段代码,里的内部类能在不创建内部类对象的情况下被访问?
}
}
#5
这段代码里的内部类不能在不创建内部类对象的情况下被访问
#6
你现在定义的是一个实例性质的内部类,你要访问这个内部类的方法必须实现获得外部类的对象,然后通过外部类访问内部类
public class Main {
class Inner{
public int a = 10;
public int get(){
return a;
}
}
public static void main(String[] args){
Main main = new Main();
Inner in = main.new Inner();
System.out.println(in.get());
}
}
如果是静态内部类,则采用如下方式:
public class Main {
static class Inner{
public int a = 10;
public int get(){
return a;
}
}
public static void main(String[] args){
Main main = new Main();
Inner in = new Main.Inner();
System.out.println(in.get());
}
}
#1
问题2:不能被其他类或用他的类 实例化!
具体你可以去看看sington的实现
具体你可以去看看sington的实现
#2
1、对于内部类来说,就像一个类的属性一样,对于类本身而言,是可以访问的,而对于其他的类来访问,必须通过这个类去访问他的内部类
2、一个构造器默认的方法就是public,当我们在构造器前加上private之后,我们就不能在外部来对其进行实例化了,如果我们需要访问它,
则必须通过内部方法来访问它,这个一般在很多单例模式中可以看到,它的作用就是不能让别人直接访问它,而必须通过某个方法来访问
2、一个构造器默认的方法就是public,当我们在构造器前加上private之后,我们就不能在外部来对其进行实例化了,如果我们需要访问它,
则必须通过内部方法来访问它,这个一般在很多单例模式中可以看到,它的作用就是不能让别人直接访问它,而必须通过某个方法来访问
#3
问题1:可以
问题2:单例模式时就可以用
问题2:单例模式时就可以用
#4
第二个问题我懂了,但是第一个问题,怎么访问啊?
public class TestInner {
class Inner{
public int a = 10;
public int get(){
return a;
}
}
public static void main(String[] args){
TestInner testInner = new TestInner();
//这段代码,里的内部类能在不创建内部类对象的情况下被访问?
}
}
#5
这段代码里的内部类不能在不创建内部类对象的情况下被访问
#6
你现在定义的是一个实例性质的内部类,你要访问这个内部类的方法必须实现获得外部类的对象,然后通过外部类访问内部类
public class Main {
class Inner{
public int a = 10;
public int get(){
return a;
}
}
public static void main(String[] args){
Main main = new Main();
Inner in = main.new Inner();
System.out.println(in.get());
}
}
如果是静态内部类,则采用如下方式:
public class Main {
static class Inner{
public int a = 10;
public int get(){
return a;
}
}
public static void main(String[] args){
Main main = new Main();
Inner in = new Main.Inner();
System.out.println(in.get());
}
}