package cn.sxt.oo1;
import java.util.*;
public class test1 {
public static void main(String args[])
{
Scanner scan=new Scanner(System.in);
// String s1=scan.nextLine();
Student stu=new Student(11,"amy","11111");
stu.rest();
System.out.println(stu.toString());
System.out.println(stu instanceof Student);//判断stu Student是否为同一类
System.out.println(stu instanceof Person);//结果业为true
}
}
class Person
{
int age;
String name;
public void rest()
{
System.out.print("休息一会吧baobei\n");
}
public String toString() {
return name+ " age " +age;
}
}
class Student extends Person
{
String sno;
public Student(int age,String name,String sno) {
this.age=age;
this.name=name;
this.sno=sno;
}
public void rest()//会覆盖父类的rest
{
System.out.println("趴在桌子上休息");
}
public Student() {//空构造器
}
}
1 insantaceof 判断是否为同一类型
2 Object类相当于所有类的父类他的方法所有类都可以用
toString 是继承自Object 的方法
3 equals方法判断两者是否为同一类
可以重写equals方法
方法 右键 Source 里有equals方法
依赖于什么生成就选什么
//依赖于name生成当name相等就相等
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
//使用方法u1.equals(u2)
4 super继承父类
子类构造方法默认第一行有super(),先构造父类构造器