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
-
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区别面试会考
-
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类无参构造器哦
-
P358多态的总结
--