【Java总结】final关键字,抽象类,接口,内部类

final

  1. final修饰类,表示这个 类不能被继承
  2. final修饰方法,表示这个方法不能被重写
  3. final修饰常量(常量大写),表示常量不能被修改内容
  4. static final修饰的常量,表示全局常量

抽象类

  • 使用abstract修饰的类,这个类是抽象类
  • 使用abstract修饰的方法,为抽象方法,此方法只有生命没有实现
  • 含有抽象方法的类必须是抽象类
  • 抽象类不能实例化,抽象类的子类必须重写父类的抽象方法
  • 不能使用abstract修饰属性,私有方法,构造器,静态方法,final方法
/*我为抽象类*/
abstract calss A {
    abstract void m();
}

接口(interface)

  • 接口就是一个特殊的抽象类,没有属性,只有方法
  • 接口就是被类实现的,实现类 必须重写接口中的所有方法
  • 接口是Java中实现多重继承的方式
  • 接口都是public修饰的,方法也是public
/*声明一个接口*/
public interface Runner {
    public void run();
}

/*实现接口*/
public class implements Runner {
    public void run() {
        System.out.printf("我会跑!");
    }
}

内部类

Java中允许一个类中定义另一个类,前者成为外部类,后者称为内部类

  • 内部类可以声明为final
  • 内部类可以修饰为private或者protected
  • 内部类可以为static,此时就不能使用外层类的非static的成员变量
public class Test {

    public static void main(String[] args) {
            A a = new A();
            A.B b = a.new B();
            b.m(3);
    }

}

class A {
    private int s = 1;

    public class B {
        private int s = 2;

        public void m(int s) {
            System.out.println(s);//3 局部变量 
            System.out.println(this.s);//2内部类的对象
            System.out.println(A.this.s);//1外层类的对象
        }
    }
}

匿名内部类

一般swing里面使用的较多
下面就是内部类的一个使用

button.addListener(
    new OnClickListener() {
        //实现方法 
    }
);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值