码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-05-11 22:06:40      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:abstract

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() {
        //实现方法 
    }
);

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

标签:abstract

原文地址:http://blog.csdn.net/ttf1993/article/details/45647487

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!