面向对象三大特征:
封装、继承、多态
继承extends:子类继承父类中所有的非私有属性和方法
构造函数不会被继承
子类可以有自己的方法
重写(覆盖):
继承关系下,子类中的方法与父类中继承的方法名相同
参数列表相同,返回值类型相同
this:当前对象
this.属性;当前对象的属性
this([参数]);
super:父类对象
super.属性
super([参数]);
演市代码
/**
*
* @author HP
*父类:动物类Animal
属性:姓名name,性别sex,年龄age,颜色color
方法:
吃方法eat(),喝方法drink(),睡方法sleep()
*/
// 属性:姓名name,性别sex,年龄age,颜色color
String name ;
String sex;
int age;
String color;
public void eat(){
System.out.println("动物吃的方法");
}
public void sleep(){
System.out.println("动物睡觉的方法");
}
public day2_Animal(String name, String sex, int age, String color) {
super();
this.name = name;
this.sex = sex;
this.age = age;
this.color = color;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return " name=" + name + ", sex=" + sex + ", age=" + age + ", color=" + color ;
}
public day2_Cat(String name, String sex, int age, String color) {
super(name, sex, age, color);
}
public void showinfo(){
super.eat();
super.sleep();
}
public void eat(){
System.out.println("猫吃鱼的方法");
}
public void sleep(){
System.out.println("猫睡觉的方法");
}
public static void main(String[] args) {
// 属性:姓名name,性别sex,年龄age,颜色color
day2_Animal a1=new day2_Animal("动物", "无", 0, "无");
a1.eat();
a1.sleep();
System.out.println( a1.toString());
System.out.println("-------------分割线-------------");
day2_Dog d=new day2_Dog("小花", "雌", 1, "白");
d.eat();
d.sleep();
System.out.println( d.toString());
System.out.println("-------------分割线-------------");