2019年08月19日(星期一)  农历:己亥年七月十九

作者:三年。分类: JAVA

内存结构图:
 

示例代码:

Animal 类

package ljy.inheritance;

//你所编写的任何JAVA类都是子类,你没有编写根类的机会,因为在JAVA

//任何一个类都是Object这个类的子类,如果不显示说明你编写的类是哪个

//类的子类,系统也会安排Object这个类作为你编写的这个类的父类。

public class Animal extends Object {

String name;

Integer age;

public Animal() {

super();

}

//默认的无参构造方法,如果没有显示的声明任何构造方法

//系统会默认为你添上这个构造方法。

public Animal(String name, Integer age) {

super();

this.name = name;

this.age = age;

}

void run(){

System.out.println("一只"+this.age+"岁的"+ this.name + "在奔跑!~~");

}

void sound(){

System.out.println("一只"+this.age+"岁的"+ this.name + "在吼叫!~~");

}

}

Tiger类

package ljy.inheritance;

//面向对象的编程级别到达复用级别,可以复用一个对象的所有属性和方法

//面向对象编程只能复用到函数。

public class Tiger extends Animal{

//子类构造方法可以通过调用父类构造方法的方式来完成体内父类

//部分的初始化,子类调用父类构造方法,只能使用super,不能直

//呼父类的名称。就像你叫你的父亲叫做爸爸,而不再直呼其名。

String furcolor;

public Tiger(String name,Integer age,String furcolor){

super(name,age);

//子类构造方法调用父类构造方法必须放在

//子类构造方法的语句块的第一句,现有父

//类之后才有子类,每个类在构造的时候都

//会默认先调用父类的构造方法,父类构造

//完之后,才会继续构造子类,逐层构造,

//直至最终完成整个类的构造。

this.furcolor = furcolor;

}

void hunt(){

System.out.println("一只"+this.furcolor+"的"+ this.name + "在捕猎!~~");

}

}

测试

/**

*

*/

package ljy.inheritance;

/**

* @author fshxxxyydys

*

*/

public class Tester {

/**

* @param args

*/

public static void main(String[] args) {

Tiger t = new Tiger("东北虎",1,"白色");

t.hunt();

t.run();

t.sound();

System.out.println(t.toString());

}

}

===================================================

Result:

一只白色的东北虎在捕猎!~~

一只1岁的东北虎在奔跑!~~

一只1岁的东北虎在吼叫!~~

===================================================

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

已有 0/1500 人参与

发表评论:



手Q扫描加入Java初学者群