一、题目

  1. 按照要求完成以下操作。

    1. 创建Person,Teacher,Student类
      其中,Person为父类,Teacher和Student都继承Person
      Person中有属性:String name,int age(自己思考访问控制修饰符)
      在Person中写出无参构造方法Person(),有参构造方法Person(String name,int age)
      在Person中定义方法:showMessage(),用于展示人的信息,打印输出“展示某人的信息”
  2. 在Teacher类中定义私有的属性:工号teacherId
    定义以下构造方法:
    1.无参构造方法 Teacher()
    2.有参构造方法Teacher(String name,int age,Int teacherId)
    该构造方法中调用父类的2个参数的构造方法
    在Teachar中重写方法showMessage():在方法体中输出“老师的信息是:姓名:xx,年龄:xx,工号:xx”
  3. 在Student类中定义私有的属性:学号schoolId
    定义以下构造方法:
    1.无参构造方法 Student()
    2.有参构造方法Student(String name,int age,Int teacherId)
    该构造方法中调用父类的2个参数的构造方法
    在Student中重写方法showMessage():
    在方法体中输出“学生的信息是:姓名:xx,年龄:xx,学号:xx”
    二、实现代码
    第一种
    1.Student类
package homework;public class Student extends Person {public String name;public int age;public int schoolId;public Student() {}public  Student(String name,int age,int schoolId) {this.name=name;this.age=age;this.schoolId=schoolId;}    public void showMessage() {//重写方法System.out.printf("学生的信息是:姓名:"+name+" 年龄:"+age+" 学号:"+schoolId+"\n");}}

2.Teacher类

package homework;public class Teacher extends Person {public int teacherId;public String name;public int age;
public Teacher() {}public  Teacher(String name,int age,int teacherId) {this.name=name;this.age=age;this.teacherId=teacherId;
}
public void showMessage() {//重写方法System.out.printf("老师的信息是:姓名:"+name+" 年龄:"+age+" 工号:"+teacherId);
}
}

3.Person类

package homework;public class Person {public static void main(String[] args) {Student s=new Student();s.schoolId=10;s.age=20;s.name="admin";s.showMessage();Teacher t=new Teacher();t.age=28;t.name="ldk";t.teacherId=12;t.showMessage();}
public void showMessage() {System.out.println("展示某人信息");
}
}

截图:

第二种
Student类

package homework;public class Student extends Person {public int schoolId;public Student() {}public  Student(String name,int age,int schoolId) {super(name,age);this.schoolId=schoolId;}    public void showMessage() {System.out.printf("学生的信息是:姓名:"+name+" 年龄:"+age+" 学号:"+schoolId+"\n");}}

Teacher类

package homework;public class Teacher extends Person {public int teacherId;public Teacher() {//无参构造法}public  Teacher(String name,int age,int teacherId) {//有参构造super(name,age);this.teacherId=teacherId;
}
public void showMessage() {System.out.printf("老师的信息是:姓名:"+name+" 年龄:"+age+" 工号:"+teacherId+"\n");
}
}

Person类

package homework;public class Person {public String name;public int age;public Person(){}public Person(String name,int age) {this.name=name;this.age=age;}
public void showMessage() {System.out.println("展示某人信息");
}
}

Test类

package homework;public class Test {public static void main(String[] args) {Teacher t=new Teacher("ldk",21,10);t.showMessage();Student s=new Student("xd",17,1002);s.showMessage();}}

截图:

三、总结
还是存在问题,对于无参,有参的构造方法,父类与子类之间的继承,子类中的方法重写。
super(参数)的使用:调用父类的有参构造方法
//这句代码必须写在第一行

继承——Person为父类,Teacher和Student都继承Person相关推荐

  1. python 继承并定制父类的初始化方法,python 继承类的初始化用法

    Python 中,子类B继承父类A时候会用class B(A):的代码形式声明B. class A: def __init__(self, x=1, y=2): self.x = x self.y = ...

  2. Python---已知Person类,继承Person类生成Teacher类(增加参数:科目)和Student类(增加参数:专业)。

    题目:已知Person类,继承Person类生成Teacher类(增加参数:科目)和Student类(增加参数:专业). 已知Person类如下: class Person(object):# Per ...

  3. php父类继承子类_php有多态吗 多态都有什么好处?理解好多态往往能事半功倍...

    一.什么是多态? 多态其实就是根据参数不同而执行不同的方法. 二.php中的多态 多态的概念一般是强类型语言来谈的,因为强类型语言它必须要声明参数类型,比如一个手电筒对象的打开方法其参数申明了只能是蓝 ...

  4. JAVA类的继承 Teacher和Student

    JAVA类的继承 Teacher和Student 题目描述 定义一个Teacher类和一个Student类,二者有部分数据成员是相同的,例如num,name,sex. 学生有分数score,而教师有薪 ...

  5. 关于“继承, 子类拥有父类非private的属性和方法“

    我们以前经常看到这么一句话: "继承,  子类拥有父类非 private 的属性和方法."; 但是我们又会经常看到这样的代码 父类: public class People {pr ...

  6. 类型转换,类与类之间的转换,继承关系,继承与静态变量,子类父类重名,多继承,虚基类

     常量的基本类型转换,例如:int num(10.8),这种方式是隐式转换. 通过函数的构造函数实现转换. 类类转换函数,当构造函数不能将类型转换成基本类型时.所以就有了类类转换函数,通过这种方式 ...

  7. 继承能够访问父类私有字段_在单元测试中访问私有字段

    继承能够访问父类私有字段 首先,让我大声说一下,您需要将代码设计为可测试的,以便通过公共方法测试私有字段. 但是,(" buts"是人们仍在编程而不是计算机本身的原因,所以在这里很 ...

  8. java 子类继承父类_关于Java 的继承问题,子类会继承父类的哪些东西?-----转载...

    和C++类似,可以继承基类的公共属性和方法. 在Java继承里,父类的属性还有方法在声明时,如果是public关键字即公共属性,则在子类继承时,这些属性和方法都会被子类继承.受保护的也可以继承 但是私 ...

  9. java中子类怎样调用父类的属性_java的继承、重载(overload)、覆盖(override)的总结...

    java为了解决相似属性和行为能共用相同的代码,也是为了便于标准模块化.减少相同代码要多次重复编写的问题,提供了继承.重载和覆盖的功能.继承是针对类,重载和覆盖是针对方法的. 一.继承:为了便于理解. ...

最新文章

  1. 为师不以学为大,不如以死谢天下
  2. multiprocessing多进程(31-04)创建进程的两种方式
  3. sybase isql 重启_学习这篇文章,搭建Sybase数据库不再是难题!
  4. 学会用各种方式备份MySQL数据库
  5. Windows平台下kafka环境的搭建
  6. java赋值兼容原则,多态问题抛出(赋值兼容性原则遇上父类与子类同名函数的时候)...
  7. C#自学总结_Day2
  8. 概率图模型(快速入门必备)
  9. python模拟ios点击_使用Xcode + Python进行IOS运动轨迹模拟
  10. 京东、阿里:健康版图再博弈
  11. qq三国行脚商脚本思路分享
  12. HC32L130基于Xmodem协议实现IAP串口在线升级
  13. Android 华为手机ADB调试连接不上的参考解决办法
  14. iPad如何越狱?4.2.1完美越狱教程 二 (cydia 安装)
  15. 基本数据结构——线性结构(列表/无序表)
  16. python基础(大数据)[完结]
  17. java 视频系统_java web电影网视频点播系统
  18. 计算机硬盘用u盘维修,硬盘,提示分区损坏怎么办,学会这招解决电脑硬盘分区损坏问题...
  19. Field xxxMapper in xxxServiceImpl required a bean of type XxxMapper解决方法
  20. C++构造函数私有化作用

热门文章

  1. 不要浪费那少得可怜的注意力(2)
  2. 按键精灵 百度文字识别(百度ocr)OCRSpace文字识别
  3. 每个人的火星快车图片和视频
  4. 用python做生日礼物_利用python画一份素描合集,给女朋友一份独特生日礼物
  5. 树莓派 编译安装OpenCV4.1.0+opencv_contrib-4.1.0
  6. tvOS 开发第一个tvOS应用
  7. 华为奔赴“空间智能”,全屋智能的逻辑变了吗?
  8. java实现客户端脚本录制_(二)appium-desktop录制脚本二次开发,生成我司自动化脚本...
  9. 基于 Openzeppelin 的可升级合约解决方案的注意事项
  10. Android Studio2.2 CMAKE高效NDK开发