}
可以运行;
分析:
1.定义接口Student
{
sleep()
}
2、子类实现接口 implements
{
public void sleep() // 接口中方法都是public void 修饰
}
3.多态
父类类型的变量来引用一个子类类型的对象
父类 :Student 变量:a
子类对象: ME()
4 方法
studentSleep(a)
public stat void StudentSleep(Student a)
a.Sleep()
这个就一个方法sleep()
下面一个就不知道那么出错了。 。。现在又可以运行了代码如下,有点不规范简单了点
interface Student { void sleep(); void learn();//多了一个learn方法 } class Me implements Student { public void sleep() { System.out.println("1111"); } public void learn() { System.out.println("java"); } } class Dog implements Student { public void sleep() { System.out.println("papappaap"); } public void learn() //Dog 不行抽象类,必须实现接口的所有方法。我尝试把Dog抽象化,但是抽象类不能实例化。所有就实现接了所有方法 { } } class Test002 { public static void main(String[] args) { Student a = new Me(); Student b = new Dog(); studentSleep(a); studentSleep(b); studentLearn(a); } public static void studentSleep(Student a) { a.sleep(); } public static void studentLearn(Student a) { a.learn(); } }
多态我难懂的
父类类型的一个变量作为子类对象的引用
Student a = new ME();
实现方法中
public static void studentSleep(父类 参数)
这个(父类 参数)我想很久以前一直以为方法()只能填int String。。。类型。翻书看看方法的构造
修饰符 返回值类型 方法名字 (参数类型 参数1,参数2....)
{
执行语句
return 返回值;(返回类型void不想要return)返回值类型要一致
}
参数类型:用于限定方法时传入参数的类型
上代码中 参数类型是Student
有点乱了思路。。。
