/**
面向对象:抽象类、接口、继承和多态
*/
/**接口*/
interface Chinese
{
void speack();
}
/**抽象类*/
abstract class Person
{
/**封装属性-姓名*/
private String name;
/**封装属性-年龄*/
private int age;
/**无参构造方法*/
public Person(){}
/**带参构造方法*/
public Person(String name,int age)
{
this.name = name;
this.age = age;
}
/**设置姓名*/
public void setName(String name)
{
this.name = name;
}
/**获取姓名*/
public String getName()
{
return name;
}
/**设置年龄*/
public void setAge(int age)
{
this.age = age;
}
/**获取年龄*/
public int getAge()
{
return age;
}
/**打印输出name和age的方法*/
public void show()
{
//打印输出name和age
System.out.println("姓名:"+name+"***"+"年龄:"+age+"岁");
}
/**睡觉的方法*/
public void sleep()
{
System.out.println("睡觉");
}
/**吃的抽象方法*/
abstract void eat();
}
/**学生类继承Person抽象类实现接口Chinese*/
class Student extends Person implements Chinese
{
/**无参构造方法*/
public Student(){}
/**说话的方法*/
public void speack()
{
System.out.println("说汉语");
}
/**重写Person吃的方法*/
public void eat()
{
System.out.println("学生吃米饭");
}
}
/**教师类继承Person抽象类实现接口Chinese*/
class Teacher extends Person implements Chinese
{
/**无参构造方法*/
public Teacher(){}
/**说话的方法*/
public void speack()
{
System.out.println("说汉语");
}
/**重写Person吃的方法*/
public void eat()
{
System.out.println("吃牛肉面");
}
/**老师教书的方法*/
public void teach()
{
System.out.println("教英语");
}
}
/**测试类*/
class PersonTest1
{
/**
主方法,用来运行Person、Student和Teacher类
是程序的入口,被JVM调用
*/
public static void main(String[] args)
{
//创建对象-多态
Person p =new Student();//父类引用指向子类对象
/**给name赋值*/
p.setName("张三");
/**给age赋值*/
p.setAge(20);
//调用show()方法
p.show();
//调用eat()法
p.eat();
//调用sleep()方法
p.sleep();
}
} |
|