interface Singer
{
void sing();
}
interface Painter
{
void paint();
}
abstract class Person
{
private String name;
abstract void sleep();
}
class Student extends Person implements Singer,Painter
{
void study()
{
System.out.println("student is studying!");
}
public void sing()
{
System.out.println("student is singing!");
}
public void paint()
{
System.out.println("student is painting!");
}
void sleep()
{
System.out.println("student is sleeping!");
}
}
public class TestInterface
{
public static void main(String[] args)
{
//Student s = new Student();
Singer s = new Student();//父类接口引用指向子类对象(多态)
//s.study();
//s.sleep();
s.sing();
//s.paint();
}
}
/*
总结:
1.常见的dos命令
del *.*删除当前文件夹下所有的内容
rd 文件夹 删除文件夹
mkdir 文件夹 新建文件夹
echo 内容 > 文件名 新建文件
2.接口是一种抽象类
它的成员变量默认修饰符是public static final
它的成员方法默认是abstract public
因此在实现类中重写方法时,public不能少
接口也可以实现多态
毫无关系的类可以实现相同的接口
一个类可以实现多个接口
3.接口之间也可以相互继承
类之间可以相互继承
类与接口之间可以实现
4.问题:多个实现接口中函数名重名的问题
*/
{
void sing();
}
interface Painter
{
void paint();
}
abstract class Person
{
private String name;
abstract void sleep();
}
class Student extends Person implements Singer,Painter
{
void study()
{
System.out.println("student is studying!");
}
public void sing()
{
System.out.println("student is singing!");
}
public void paint()
{
System.out.println("student is painting!");
}
void sleep()
{
System.out.println("student is sleeping!");
}
}
public class TestInterface
{
public static void main(String[] args)
{
//Student s = new Student();
Singer s = new Student();//父类接口引用指向子类对象(多态)
//s.study();
//s.sleep();
s.sing();
//s.paint();
}
}
/*
总结:
1.常见的dos命令
del *.*删除当前文件夹下所有的内容
rd 文件夹 删除文件夹
mkdir 文件夹 新建文件夹
echo 内容 > 文件名 新建文件
2.接口是一种抽象类
它的成员变量默认修饰符是public static final
它的成员方法默认是abstract public
因此在实现类中重写方法时,public不能少
接口也可以实现多态
毫无关系的类可以实现相同的接口
一个类可以实现多个接口
3.接口之间也可以相互继承
类之间可以相互继承
类与接口之间可以实现
4.问题:多个实现接口中函数名重名的问题
*/