java无参继承_Java继承

1、继承是多态的前提,没有继承就没有多态

解决的问题:共性抽取。父类(基类、超类)// 子类(派生类)

特点:1、子类可以拥有父类的“内容” 2、子类还可以拥有自己专有的内容

2、子类就是父类(即:子类可当作父类看待)

父类就是普通类的定义格式;

子类:public class 子类名称 extends 父类名称 {      }

3、在父子类的继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式(就近原则):

直接:通过子类对象访问成员变量

等号左边是谁,就优先用谁,没有则向上找(比如父类与子类均有num成员变量,若teacher类(子类)对象te1.num 则代表teacher里的num而不是父类中的num)

间接:通过成员方法访问成员变量

该方法属于谁,则优先用谁,没有则向上找

4、三种变量重名(父类成员变量、子类成员变量、局部变量(方法中的变量))

num;//局部变量  this.num; //子类成员变量 super.num; // 父类成员变量

5、在父子类的继承关系当中,创建子类对象,访问成员方法的规则:

创建的对象是谁,就优先用谁,没有则向上找

6、方法的重写(在继承关系关系中,方法名称一样,参数列表也一样)

重写(override):方法名称一样,参数列表也一样【覆盖、覆写】

重载(overload):方法名称一样,参数列表不一样。

特点:创建的是子类对象,则优先使用子类方法

注意:(1)必须保证父子类  方法名称一样,参数列表也一样

(2)@override 写在重写方法之前,用来监测是否正确重写

(3)子类方法的返回值必须小于等于父类的返回值范围 // Object类是所有类的公共最高父类

java.lang.String 是java.lang.Object的子类

(4)子类方法的权限必须大于等于父类方法权限修饰符:public > protected > default(留空)> private

7、方法的重写的应用

继承的设计原则:已经使用的类,尽量不要修改,定义一个新的类,重复利用其中共性内容,改动或者添加新内容。

public void method() {

super.method();// 父类的方法拿过来重复利用

// 子类再来添加更多内容

System.out.println("子类重名方法执行");

}

8、子类在继承父类之后,如果子类再写一个构造方法,则默认先构造父类,即super();(不同于上面的一般方法重写)

如:public Teacher() {   // 子类构造方法

super();

......

}

9、子类构造可以通过super关键字来调用父类重载构造;(因为默认赠送的是super();无参构造,如果父类没有无参构造,则会error,只能手动写super(参数);

必须是子类构造方法的第一句;不能多次调用super构造;

10、super关键字:

(1)在子类的成员方法中,访问父类的成员变量

(2)在子类的成员方法中,访问父类的成员方法

(3)在子类的构造方法中,访问父类的构造方法 // super(); super(参数);

11、this关键字

(1)在本类的成员方法中,访问本类的成员变量

(2)在本类的成员方法中,访问本类的另一个成员方法

(3)在本类的构造方法中,访问本类的另一个构造方法 // this();this(参数);

注意:必须是第一句,且唯一一个。super与this两种构造调用,不能同时使用,比如有了this();之后,不再赠送super();

12、(1)Java语言是单继承的,一个类的直接父亲只能有唯一一个

class C extends A,B {      } error

(2) Java语言可以多级继承

(3) 一个父类可以拥有多个子类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值