抽象类( abstract )
-
继承了抽象类的子类,都必须要实现它的方法,除非子类也是抽象类 。
-
抽象方法,只有方法名字,没有方法实现。
-
抽象类中可以写普通方法,抽象方法只能在抽象类中。
//抽象类
public abstract class Action{
//约束,抽象方法,只有方法名字,没有方法实现
public abstract void doSomething();
}
接口( interface )
-
约束
-
定义一些方法,让不同的人实现
-
public abstract
-
public static final
-
接口不能被实例化,接口中没又构造方法
-
implements可以实现多个接口
-
实现接口必须要重写接口中的方法
public interface UserService{
//接口中的所有定义都是抽象的
void add(String name);
void delete(String name);
void update(String name);
void query(String name);
}
public interface TimeService{
void timer();
}
//类实现接口,重写接口中的方法
public class UserServiceImpl implements UserService,TimeService {
@Verride
public void add(String name){
}
@Verride
public void delete(String name){
}
@Verride
public void update(String name){
}
@Verride
public void query(String name){
}
@Verride
public void timer(){
}
}
内部类
-
成员内部类
-
静态内部类
-
局部内部类
-
匿名内部类
//成员内部类
public class Outer{
private int id = 10;
public void out(){
System.out.println("这是外部类!");
}
class Inner{
public void in(){
System.out.println("这是内部类!");
}
public void getID(){
System.out.println(id);
}
}
}
public class Application{
public static void main(String[] args){
Outer outer = new Outer();
//通过外部类来实例化内部类
Outer.Inner inner = outer.new Inner();
inner.in();
//内部类可以获得外部内的私有熟悉、方法
inner.getID();
}
}
//静态内部类
public class Outer{
private int id = 10;
public void out(){
System.out.println("这是外部类!");
}
class Inner{
public static void in(){
System.out.println("这是内部类!");
}
}
}
//局部内部类
public class Outer{
public void method(){
class Inner{
puhlic void in(){}
}
}
}
//匿名内部类
public class Test(){
public static void main(String[] args){
//不用将实例保存在变量中
new Apple.eat();
}
}
class Apple{
public void eat(){
System.out.println("吃!");
}
}
本文详细介绍了Java编程中的抽象类、接口和内部类的概念及使用。抽象类作为基类,强制子类实现其抽象方法;接口用于定义行为规范,一个类可以实现多个接口;内部类包括成员内部类、静态内部类、局部内部类和匿名内部类,提供更灵活的封装。通过实例展示了如何使用这些概念。
7675

被折叠的 条评论
为什么被折叠?



