Java基本概念-抽象类和接口

一 抽象类  
 
 1 抽象类:abstract修饰的类,为继承和多态设计,在继承中充当父类,抽象类不允许实例化,即不能new
 
 2 抽象方法:使用abstract修饰的方法,抽象方法不允许有方法实现,即方法实体{ }
 
 3 在Java中,如果类中包含抽象方法时,类就必须是抽象类,但抽象类中可以没有抽象方法,只有普通方法
 
 4 父类中的抽象方法,在子类中必须实现(即在子类中必须重写父类的抽象方法),否则子类也必须是抽象类,抽象类不允许实例化
 
 5 通常将父类定义成抽象类,通过抽象方法要求子类必须有某种行为
 
 6 抽象类可以有实例变量,以及一个或多个构造方法,这些构造方法不能被用来创建实例,抽象类的构造方法可以被其子类用super调用
 
二 接口
 
 1 接口:接口和类是并列概念,使用关键字interface修饰的是接口,使用关键字class修饰的是类,
 
 2 接口中的所有成员都不允许修改:接口中定义的变量默认为常量,即默认被public static final修饰,不能进行再一次赋值
 
                                 接口中的方法都是为继承而设计的,方法不能实现,即默认被public static修饰,接口中的方法在子类中必须全部实现
 
 3 在Java中,一个类只能直接继承一个父类,但可以实现多个接口,接口相当于父类
 
 4 约束毫不相关的类有相同的行为时,可以实现一个接口
 
 5 类可以被继承,接口只能被实现,一个类可以同时实现多个接口,实现多个接口时,接口之间用逗号分隔
 
 6 抽象类和接口的比较:两者都为继承而生,提高了代码复用
 
   a 抽象类是单继承的,接口可以被实现多个
 
   b 抽象类中的方法包括普通方法和抽象方法,接口中只能是抽象方法
 
   c 抽象类中的变量包括常量和普通变量,接口中的变量只能是常量
 
   d 定义抽象类的关键字是abstract,定义接口的关键字是interface
 
   e 抽象类的继承关键字是extends,接口的实现的关键字是implement
      
   f 抽象类中可以有普通方法的实现,接口中不能有方法的实现
 
三 final关键字
 
 1 final修饰的类,表示最终类,不能被继承有子类
 
 2 final修饰的方法,不能在子类中重写
 
 3 final修饰的变量为常量,不能被重新赋值
 
 4 在Java中,常量的命名一般都是用大写字母,多个单词之间用下划线分隔
 
 5 final类有:String类,System类,Java.util.Scanner类
 
 6 final与abstract相反
 
四 内部类
 
 1 定义在一个类内部的类,只能在外部类的内部使用
 
 2 内部类可以被static修饰,也可以被public修饰
 
五 匿名类
 
 1 没有名称的类
 
 2 匿名类内部不用定义类文件和具体类名,只需在实例化接口或抽象类时,实现接口和类的抽象方法
 
 3 匿名内部类的实现是一次性的,不能代码重用
 
 4 直接实例化接口,必须使用匿名内部类对接口中的方法进行实现
 
 5 运行时,new 接口时JVM会自动定义一个类,该类会实现接口
    
发布了44 篇原创文章 · 获赞 1 · 访问量 9931
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章