Java中所有子类共用的对象_Java面向对象(二)

关于类成员的权限的使用的基本原则:

1:类中的成员变量要求全部私有。如果其他的类有访问私有成员变量的需求,那么统一的提供访问器和修改器来提供访问的功能。getter 和 setter

2:所有的类中的成员的访问权限,要尽量的小。越小越好。

3:如果某个类不想被实例化,那么构造方法私有化。

类的访问权限:在class 关键字 前面 添加的 类的被访问的权限。

类的访问权限 就 2个

1:public:工程级别的访问权限,所有的本工程的类,都可以访问使用public 修饰的类。

2:默认的:本包其他的类。2、构造器用于创建对象并初始化对象属性的方法,叫“构造方法”,也叫“构造器”;构造器在类中定义。

1)构造器的名称必须与类名同名,包括大小写。

2)构造器没有返回值,但也不能写 void,也不能写 return。

3)构造器的参数:一般是初始化对象的前提条件。

4)用 new 调用!且对象一建立,构造器就运行且仅运行一次。一般方法可被调用多次。

5)如果类没有声明(定义)任何的构造器,Java 编译器会自动插入默认构造器!

6)默认构造是无参数,方法体是空的构造器,且默认构造器的访问权限随着所属类的访问权限变化而变化。如,若类被 public 修饰,则默认构造器也带 public 修饰符。

7)默认构造器是看不到的,一旦自定义构造器则默认构造器就没有了,自己写的叫自定义构造器,即便自己写的是空参数的构造器,也是自定义构造器,而不是默认构造器。

8)如果类声明了构造器,Java 编译器将不再提供默认构造器。若没手动写出无参构造器,但却调用了无参构造器,将会报错!

9)构造器是可以重载的,重载的目的是为了使用方便,重载规则与方法重载规则相同。

10)构造器是不能继承的!虽说是叫构造方法,但实际上它不是常说的一般方法。

11)子类继承父类,那么子类型构造器默认调用父类型的无参数构造器。

12)子类构造器一定要调用父类构造器,如果父类没有无参数构造器,则必须使用super(有参数的),来调用父类有参的构造器。

为什么子类一定要访问父类的构造器?

因为父类中的数据子类可以直接获取。所以子类对象在建立时,需要先查看父类是如何对这些数据进行初始化的,所以子类在对象初始化时,要先访问一下父类中的构造器。总之,子类中至少会有一个构造器会访问父类中的构造器,且子类中每一个构造函数内的第一行都有一句隐式 super()。

3、super()、super.和 this()、this.

1)this:在运行期间,哪个对象在调用 this 所在的方法,this 就代表哪个对象,隐含绑定到当前“这个对象”。

2)super():调用父类无参构造器,一定在子类构造器第一行使用!如果没有则是默认存在 super()!这是 Java 默认添加的 super()。

3)super.是访问父类对象,父类对象的引用,与 this.用法一致

4)this():调用本类的其他构造器,按照参数调用构造器,必须在构造器中使用,必须在第一行使用,this() 与 super() 互斥,不能同时存在

5)this.是访问当前对象,本类对象的引用,在能区别实例变量和局部变量时,this 可省略,否则一定不能省!

6)如果子父类中出现非私有的同名成员变量时,子类要访问本类中的变量用 this. ;子类要访问父类中的同名变量用 super.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值