/*此总结的主要内容是我在学习JAVA过程中,认为需要记忆的知识点。并结合之前自己学习C++及javascript的相关知识,注明JAVA在一些情况下与这两门语言的相同及不同之处。*/
(1)包
(2)权限修饰词
同一个类 |
同一个包 |
不同包的子类 |
不同包的非子类 |
|
Private |
√ |
|||
Default |
√ |
√ |
||
Protected |
√ |
√ |
√ |
|
Public |
√ |
√ |
√ |
√ |
(3)类的访问权限
package accessControl;
class Soup1{
private Soup1(){};
public static Soup1 makeSoup(){//静态方法创建对象并返回,可以用来在返回引用之前做额外的工作。
return new Soup1();
}
}
class Soup2{
private Soup2(){}
private static Soup2 ps1=new Soup2();
public static Soup2 access(){//这种特定的模式被称为singleton(单例),因为只能创建它的一个对象,只能通过静态public方法访问
return ps1;
}
public void f(){}
}
public class Lunch {
void testPrivate(){
//无法直接创建对象
//Soup1 soup =new Soup1();
}
void testStatic(){
Soup1 soup =Soup1.makeSoup();
}
void testSingleton(){
Soup2.access().f();
}
}