java的继承之teacher类与多个不同teacher的继承

    xiaoxiao2025-02-06  47

    首先定义一个teacher类(即父类)如下

    第一个teacher类 运行的结果也是显然易见的: 代码如下:

    package 继承; public class teacher { public String name; public int age; public String position; public String xb = "男"; public teacher(String name,int age,String position) { this.name=name; this.age=age; this.position=position; } public void introduction() { System.out.println("大家好,我是"+name+",我今年"+age+"岁了,我的职位是 "+position); } public void xb() { System.out.println("。。。。。。。。。。"+xb); } } class teachertest{ public static void main(String[] args) { teacher t =new teacher("小明",47,"讲师"); t.introduction(); t.xb(); } }

    再者定义一个javateacher类继承于teacher类 ,如下

    javateacher类

    结果如下:可以看出在teacher类当中的构造函数中的this.*的值都被重写,而xb这个属性不变, 代码如下:

    package 继承; public class javateacher extends teacher { public javateacher(String name, int age, String position) { super(name, age, position); } @Override public void introduction() { super.introduction(); } } class javateachertest{ public static void main(String[] args) { javateacher jt =new javateacher("李华",35,"java讲师"); jt.introduction(); jt.xb(); } }

    再举一反三,可以继续添加新的类,或者新的属性,可以直接继承或不予亦调用,如下同理新建一个netteacher类

    代码如下:

    package 继承; public class netteacher extends teacher { public netteacher(String name, int age, String position) { super(name, age, position); } @Override public void introduction() { super.introduction(); } } class netteachertest{ public static void main(String[] args) { netteacher nt =new netteacher("小q",38,"net講師"); nt.introduction(); nt.xb(); } }
    最新回复(0)