P352作业10-P360复习

P352作业10-P360复习

P352-P354 ==和equals区别

package com.work;
​
public class Homework03 {
    public static void main(String[] args) {
        Doctor do1 = new Doctor("L",99,"娅",'女',888.0);
        Doctor do2 = new Doctor("L",99,"娅",'女',888.0);
        System.out.println(do1.equals(do2));
    }
}
class Doctor{
    private String name;
    private int age;
    private String job;
    private char gender;
    private double sal;
​
    public Doctor(String name, int age, String job, char gender, double sal) {
        this.name = name;
        this.age = age;
        this.job = job;
        this.gender = gender;
        this.sal = sal;
    }
    public boolean equals(Object obj){
       if(this == obj){//两个是否为一个对象
           return true;
       }
       if(!(obj instanceof Doctor) ) {//不是这个类
           return false;
        }
        //向下转型,因为obj的运行是Doctor 或者子类
       Doctor doo = (Doctor) obj;
       return this.name.equals(doo.name) && this.age==doo.age &&
                this.gender==doo.gender && this.job.equals(doo.job) && this.sal ==doo.sal;
​
​
    }
//getset方法省略
​
}

P352作业11

image-20220102100548404

-

Person p = new Student;//向上转型,p调用方法从子类开始找,父类的引用指向子类对象
Student s= (Person) p;//向下转型
p可以调用run,输出student run ,调用eat,person eat(找运行,运行无找父类)
s可以调用run,输出student run,调用eat,person eat,调用study ,输出...

P354 ==和equals区别面试会考

image-20220102102048976

-

P355作业13内容多

package com.work;
​
public class Homework03 {
    public static void main(String[] args) {
            //多态数组
            Person [] parr=new Person[4];
            parr[0]=new Student("s1",'女',1,001);
            parr[1]=new Student("s2",'女',2,002);
            parr[2]=new Teacher("t1",'女',33,10);
            parr[3]=new Teacher("t2",'女',44,20);
​
​
    }
    public void bubble(Person [] parr) {
        Person temp=null;
        for(int i=0;i< parr.length-1;i++){
            for(int j=0;j< parr.length-1-i;j++) {
                if(parr[j].getAge() <parr[j+1].getAge()) {
                    temp = parr[j];
                    parr[j] = parr[j + 1];
                    parr[j + 1] = temp;
                }
            }
        }
    }
}
class Person{
    private String name;
    private char gender;
    private int age;
​
    public Person(String name, char gender, int age) {
        this.name = name;
        this.gender = gender;
        this.age = age;
    }
    public void Pinfo(){
        System.out.println("姓名:"+name+"\n年龄:"+age+"\n性别:"+gender);
    }
    public String play(){
        return name+"爱玩游戏";
    }
​
    public String getName() {
        return name;
    }
​
    public void setName(String name) {
        this.name = name;
    }
​
    public char getGender() {
        return gender;
    }
​
    public void setGender(char gender) {
        this.gender = gender;
    }
​
    public int getAge() {
        return age;
    }
​
    public void setAge(int age) {
        this.age = age;
    }
}
class Teacher extends Person{
    private int work_age;
​
    public Teacher(String name, char gender, int age, int work_age) {
        super(name, gender, age);
        this.work_age = work_age;
    }
    public void Pinfo(){
        super.Pinfo();
        System.out.println("工龄"+work_age+"\n"+play()+"\n"+teach());
    }
    public String teach(){
        return "我承诺,会好好教课";
    }
    public String play(){
        return getName()+"爱玩象棋";
    }
​
    public int getWork_age() {
        return work_age;
    }
​
    public void setWork_age(int work_age) {
        this.work_age = work_age;
    }
}
class Student extends Person{
    private int stu_id;
    public void Pinfo(){
        super.Pinfo();
        System.out.println("学号"+stu_id+"\n"+play()+"\n"+study());
    }
    public Student(String name, char gender, int age, int stu_id) {
        super(name, gender, age);
        this.stu_id = stu_id;
    }
    public String play(){
        return getName()+"爱玩足球";
    }
    public String study(){
        return "我承诺,会认真学习";
    }
​
    public int getStu_id() {
        return stu_id;
    }
​
    public void setStu_id(int stu_id) {
        this.stu_id = stu_id;
    }
}
class Test{
    public void Test(Person p){
        if(p instanceof Student){
            Student s=(Student) p;//
            s.study();
        }
        if(p instanceof Teacher){
            Teacher s=(Teacher) p;//
            s.teach();
        }
    }
}

P357

A类(注意隐藏的无参构造器)

haha b类有参数构造器

c类有参构造器

c类无参构造器哦

image-20220102193547029

-

P358多态的总结

image-20220102200022970

--

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值