java 多态

interface Student  //定义接口 interface
{
void sleep();//方法






}
class Me implements Student  //定义ME类并实现Student接口用implements
{

public void sleep()
{
System.out.println("1111");
}
}
class Dog implements Student
{
public void sleep()
{
System.out.println("papappaap");
}

}
class Test002
{
public static void main(String[] args)
{
Student a = new Me(); //创建ME对象,使用Student类型的变量a引用
Student b = new Dog();
studentSleep(a);  //调用方法,把变量a作为参数传入
studentSleep(b);
}
public static void studentSleep(Student a)  //定义静态的方法,接受一个Student类参数
{
a.sleep();
}

}

可以运行;

分析:

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

有点乱了思路。。。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值