关于接口的实例

关于接口

interface Singer{

    void sing();

}

class Student implements Singer{

    String aaa="hello";

    public void sing(){   //请注意,sing必须用public修饰,因为子类重写父类的方法的权限不能小于父类中该方法的权限

       System.out.println("啊啊啊");

    }

    void study(){

       System.out.println("学习");

    }

 

}

public class Animal{

    public static void main(String[] args){

       Student ss1=new Student();

       Singer ss2=new Student();

       ss1.sing();

       ss1.study();

 

       ss2.sing();

       //  System.out.println(ss2.aaa);  //这句话也是错的。道理和下面一样

      

       /*  ss2.study();   这句是错的,因为ss2singer类型的。虽然我们把Student的模板赋给了它。但是它对外只

                        表现为Singer类型的。所以它只能调用Singer里的变量和方法。只是在调用方法时子类里德方

                      法覆盖了父类中的方法,所以会以子类中的方法输出(这也是多态的原因)

 

                      当我们要调用子类自己的方法的时候ss2是不能调用的。

 

                      */

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值