面向对象的封装与继承

一、this和super的使用

       this用于指向当前对象,其最大作用就是让类中的一个方法访问该类中的另一个方法或Field。

       this(和类名)可以作为调用者来访问被覆盖的成员变量(局部变量覆盖成员变量)。

       super是用于限定该对象调用它继承的父类的方法或Field。指向父类对象

       this和super都不能出现在用static修饰的方法中,使用this和super是调用者是对象,而不是类

二、变量

     成员变量是在类范围里定义的变量,局部变量是在方法里定义的变量。

     成员变量里以static修饰的是类Field;不以static修饰的是实例Field。

     局部变量里含有形参(作用域是整个方法体内有效)、方法局部变量(作用范围到方法结束时失效)、代码块局部变量(作用范围到代码块结束时失效)。

三、封装、构造器

     在Java中类的Field被private修饰之后,必须提供属性相应的setter和getter方法,要想操作这样的Field必须要通过setter方法来操作,通过getter方法来获取其值。命名为 setAbc(String Name)    getAbc()

     构造器是创建对象的重要途径,Java类中必须至少包含一个构造器,默认构造器无参数,执行体为空。

     如果程序员自定义了有参数的构造器,则在创建实例时必须赋予实参 ConstructorTest ct=new Constructor("a","b")

     其实在系统开始执行构造器的执行体之前,系统已经创建了一个对象,只是还不能被外部程序访问,只能在该构造器中通过this来引用,当构造器的执行体执行结束后,这个对象作为构造器的返回值被返回。

  •      当构造器B完全包含了构造器A时,若构造器B想要调用构造器A的初始化代码,可以使用this关键字来调用,只能在构造器中调用另一个重载的构造器,不能在方法中调用,而且此语句只能作为构造器执行体的第一条语句。

public Apple(String name,String color)

{

this.name=name;

this.color=color

}

public Apple(String name,String color,double weight)

{

this("苹果","红色");

this.weight=weight;

}

四、继承

  Java类只能有一个直接父类,可以有多个间接父类。先执行父类构造器,再执行子类构造器

   子类不能获得父类的构造器。

    子类在重写父类方法时,覆盖方法和被覆盖方法只能同时为类方法或实例方法,不能一个为类方法,另一个为实例方法)(即同时为static修饰)。

  •     在子类构造器中调用父类构造器时用super来完成,也必须出现在子类构造器执行体的第一行,所以this调用和super调用不能同时出现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值