1. final类型说明符,表示关闭继承,即final类不能有子类;

但final类可能可以在类外创建对象(即final类的构造方法可以不是private型):

在同一包中时,可以在任何另外一个类中使用public类与友好类创建对象;

不在同一包中时(import语句),可以在任何另外一个类中使用public类创建对象。

 

2. private访问控制符private方法不能在类外调用所有构造方法都是private的类,不可以在该类外创建对象,也不能有子类

说明:

所有构造方法都是private的类,不能有子类。

(编译器会报错:Implicit super constructor PrivateConstructor() is not visible for default constructor. Must define an explicit constructor.)

 1 public class PrivateConstructor {
 2     private PrivateConstructor() {
 3         // TODO Auto-generated constructor stub
 4     }
 5 }
 6 
 7 //erro:所有构造方法都是private的类,不能有子类
 8 //class A extends PrivateConstructor {
 9 //    
10 //}

 

当用子类的构造方法创建一个子类对象时,子类的构造方法总是先调用父类的某个构造方法(即如果子类的构造方法没有明显地指明使用父类的哪个构造方法,子类调用父类的不带参数的构造方法);若是父类没有非私有的构造函数,那么子类便不能创建对象。

 posted on 2019-03-27 09:12  Ccurie  阅读(476)  评论(0编辑  收藏  举报