javaprivate javaprivate变量


javaprivate javaprivate变量

文章插图
大家好,小豆豆来为大家解答以上的问题 。javaprivate变量,javaprivate这个很多人还不知道,现在让我们一起来看看吧!
1、一般的类是不能用private修饰,类的可见性最少是包可见的,也就是默认的 , 不加任何修饰 。
2、但是有一种特殊的情况,内部类是可以用private修饰的!不让类以外的其他类访问!这个问题在《java核心技术》里有讲!Java的外部类为什么不能使用private、protected进行修饰?对于顶级类(外部类)来说,只有两种修饰符:public和默认(default) 。
3、因为外部类的上一单元是包,所以外部类只有两个作用域:同包,任何位置 。
4、因此,只需要两种控制权限:包控制权限和公开访问权限,也就对应两种控制修饰符:public和默认(default) 。
5、如果类使用了private修饰符,说明是个内部类 。
6、内部类的上一级是外部类,那么对应的有四种访问控制修饰符:本类(private),同包(default),父子类(protected),任何位置(public) 。
7、当一个内部类使用了private修饰后,只能在该类的外部类内部使用 。
8、可以想一下,一个java项目是不可能在一个class里面完成的 。
9、mvc模式中,是把类分为三层,一层层调用类 。
10、如果定义为私有的和受保护的就无法调用 。
11、换句话说 , 对于一个java文件,要么就是自己单独运行,要么就是被其他程序作为库调用 。
12、如果一个java文件的类被private修饰,那么是不是其他的程序或是类是无法使用它的,那么他作为一个单独的文件就没啥用了 。
13、如果它作为单个文件运行,类加载怎么找到它呢,因为它对外不可见 。
14、同时,也失去了类的存在意义 。
15、因此,类只有public和默认修饰符 。
16、当然可以了! (但是基本不推荐这样写)但是只能修饰内部类-----外部类不能用private修饰,不然直接就报错! 例子: public class TestInnerStatic { private static class InnerClass { public static void doSomething() { ln("private Class doSomething"); } } public static void main(String[] args) { ething(); } } 但是,这个地方一定要注意了:内部类中方法只能是static的,因此,内部类也要声明为静态的! 你如果把 public class TestInnerStatic 这个外部类的修饰符改为private,编译器马上就报错了!不推荐内部类的写法-----这跟面向对象的理念是不协调的 。
17、但是作为java程序员,这个基本知识是要懂得 , 在特殊情况下很有必要使用----访问权限!一般的类是不能用private修饰,类的可见性最少是包可见的,也就是默认的,不加任何修饰 。
18、但是有一种特殊的情况请你一定要记住,内部类是可以用private修饰的!不让类以外的其他类访问!这个问题在《java核心技术》里有讲!呵呵,不用这么在意哦,一般类都是 public 的,我很少见是 private 的,除非是有毛病的人非要让你这么写,你只记着是 public 就行了,别人说你错,你来找我,我帮你K他不能 。
【javaprivate javaprivate变量】本文到此分享完毕,希望对大家有所帮助 。