抽象类与接口

package com.abstractClass;

/*
*

  • 有抽象方法的类一定是抽象类,抽象类里可以有普通方法。
  • 抽象类与普通类的不同点:
  • 有抽象方法时,抽象方法有abstract修饰,没有方法体。

*/
public abstract class AbstractClass {
int b = 1;
private int c = 1;
public void test1() {
int a = 1;
return;
}
public abstract void test2();

private abstract void test3();//错:这样不能被子类实现
public static abstract void test4();//错:static可以用抽象类直接调用了,还实现子类干嘛!

}

/*

  • 接口内只有常量 和 抽象类
    */
    interface InterTest{
    /*一、接口中的成员变量:
    *接口中有成员变量,但只能是静态常量。系统会自动为成员变量加上public static final三个修饰符。————public static final

    • */
      int a1 ;
      public int a2 = 1;
      public static int a3 = 1;

    /*二、接口中的方法:
    *接口中的方法可以是普通方法、类方法、默认方法。
    *普通方法:系统默认加上public abstract修饰。例如:void test(); ———— public abstract
    *类方法:可以用接口直接调用。必须显示使用static修饰,系统默认添加public。———— public static
    *默认方法:只能使用实现类的实例调用。必须显示使用default修饰,系统默认添加public。 默认方法是各个实现类公共使用的方法,所以不能加static,故只能使用实现类的实例调用默认方法。————public default

    • */

    //接口内的所有成员是多个类的共同行为规范,所以所有成员的访问权限都是public
    private int a = 1;//错:Illegal modifier for the interface field InterTest.a; only public, static & final are permitted

    //接口中的方法不能有方法体,访问修饰符只能是public static
    public void test1();

    //静态方法必须有方法体
    public static void test2();//错:This method requires a body instead of a semicolon
    public static void test3() {

    }

    public void test6() {//错:Abstract methods do not specify a body

    }
    private void test7();//错:Illegal modifier for the interface method test3; only public, abstract, default, static and strictfp are permitted

    /**

    • 三、接口中的内部类、内部接口、内部枚举:只能是public static。————public static
      */
      public static class Test{
      private int a = 1;//内部类成员的定义随意。
      }

    private class Test2{//错:The interface member type Test2 can only be public

    }
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张之海

若有帮助,客官打赏一分吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值