Java基础笔记25——继承
Posted `青红造了个白`
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础笔记25——继承相关的知识,希望对你有一定的参考价值。
继承(泛化):
语法:
<修饰符> class 子类 (派生类) extends 父类 (超类、基类)
{
}
特点:
1.复用父类的所有非private修饰的属性与方法
2.扩充自自有的属性与方法
注意:
1.只允许单继承,一个子类只可以有一个父类,但是一个父类可以有多个子类
2.可以变相的“多继承”,例如:
public class Cat extends Animal{}
public class Tiger extends Cat{}
继承 继承
Tiger------->Cat------->Amimal
3.Object是所有类的超级父类,而且是java语言中唯一一个没有父类的超级类
子类实例化的过程:
先实例化父类,再实例化子类
super():
条件:基于继承关系
作用:调用父类的构造器
注意:
1.只能出现在子类的构造器中,且必须是第一行
2.super()中的参数,决定了调用父类哪个构造器
3.如果子类构造器没有出现super,那么编译器会默认加上super(),
即调用父类的空构造器;如果父类没有空构造器,编译器提示错误
this():
条件:1.基于当前类
作用:调用类自己的构造器
super:表示父类的引用
this:表示类自身的引用
例子:
Animal.java:
package com.lqh.chapter01; public class Animal{ //属性(成员变量) String color; String brand; int age; public Animal() { System.out.println("父类实例化---Animal"); } public Animal(String color,String brand,int age) { this.color = color; this.brand = brand; this.age = age; System.out.println("父类实例化---Animal"); } //行为(成员方法) public void eat() { System.out.println("吃东西!"); } public void sleep() { System.out.println("睡觉!"); } }
Bird.java:
package com.lqh.chapter01; public class Bird extends Animal{ //属性(成员变量) String live; public Bird() { super();//如果子类不写super,编译器会默认加上 System.out.println("子类实例化--Bird"); } public void fly() { System.out.println("飞!"); } }
Cat.java:
package com.lqh.chapter01; public class Cat extends Animal{ //属性(成员变量) String area; public Cat(String brand, String color, int age) { super(brand, color,age);//调用父类的有参构造函数 } public void swimp(){ System.out.println("游泳!"); } }
Test.java:
package com.lqh.chapter01; public class Test { public static void main(String[] args) { Bird parrot = new Bird(); //访问父类的属性 parrot.brand = "鹦鹉"; parrot.age = 3; parrot.color = "yello"; //访问子类的属性 parrot.live = "陆地"; //访问父类的方法 parrot.eat(); //访问子类自有的方法 parrot.fly(); Cat lihua = new Cat("狸花猫","white and black",2); //访问子类的属性 lihua.area = "中国大陆"; //访问父类的方法 lihua.sleep(); //访问子类自有的方法 lihua.swimp(); } }
输出结果为:
父类实例化---Animal
子类实例化--Bird
吃东西!
飞!
父类实例化---Animal
睡觉!
游泳!
以上是关于Java基础笔记25——继承的主要内容,如果未能解决你的问题,请参考以下文章