接口与抽象类

 

package line;


abstract class Method1{
    abstract void fun1();//抽象方法可以是一个也可以是个
    abstract void fun2();
    //void fun1();//这种是不行的   会报错
    public Method1() {//可以有构造函数 一般用protect 保证其被子类调用而不被其他类调用
        System.out.println("我是构造方法");
    }

class MethodA extends Method1{

    @Override
    public void fun1() {
        // TODO Auto-generated method stub
        System.out.println("A中的fun1");
    }

    @Override
    public void fun2() {
        // TODO Auto-generated method stub
        System.out.println("A中的fun2");
        
    }
    public  MethodA() {//继承父类的构造方法
        super();
    }
    
}

//接口中的成员不能使用transient volatile synchronized private protected修饰
interface method3{
    
}
interface method2{
    int se=123;//接口中常量定义的方法 默认具有public final static属性
     void fun3();//在接口中声明的方法默认具有public和abstract属性 同样只进行方法声明而不进行方法实现
     void fun4();
}
interface Son extends method2,method3{//子接口继承父接口  一个接口可以有多个父接口  与抽象类不同之点
    public void fun4();
}


class MethodB implements Son{

    @Override
    public void fun3() {
        // TODO Auto-generated method stub
        System.out.println("funB3了解一下");
    }

    @Override
    public void fun4() {//子接口中同名的方法重新写了父接口中的方法
        // TODO Auto-generated method stub
        System.out.println("重写的funB4了解一下");
        
    }
    
}

public class text {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        //new Method();//会报错   抽象类是不能被实例化的
         MethodA t= new MethodA();
         t.fun2();
         t.fun1();
        
    
         MethodB t1=new MethodB();
         t1.fun3();
         t1.fun4();
    }

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值