类和接口及抽象类内部类

it2022-05-15  64

//基本类

public class Manager extends Person implements Job{

 

}

 

 

//抽象类

public abastract class Person{

    String id;

    String name;

    int age;

    //对应getset方法

    public abstract String goodAt();}

 

//接口

public interface Job{

//abstract可有可无

    public abastract  String getJobName();

    public int getSalary();}

 

//最终类

public final class Math extends Object{

}

 

使用关键字abstract声明的类称为抽象类,使用abstract声明的成员方法为抽象方法,抽象类通常包含抽象方法,抽象方法是只有方法声明而没有方法体的成员方法。

抽象类不能被实例化。

抽象类中可以不包含抽象方法,但是包含抽象方法的类必须声明为抽象类。抽象方法必须被子类覆盖。

最终类不能被继承。

 

接口

 

接口是一组常量和抽象方法的集合。在Java中接口是一种引用数据类型。接口的作用是提供方法声明与方法实现分离的机制,使多个类之间表现出共同的行为能力。

它有一下的特点。

1)接口及接口成员的访问权限都是public

2)接口中的成员方法都是公有的抽象的实例成员方法。

3)接口中所有的抽象方法必须被实现接口的类全部覆盖。

4)接口中的成员变量都是常量。

5)接口不能被实例化。

6)接口是引用数据类型。

 

接口与抽象类

 

相同点:

两者都包含抽象方法,都不能被实例化。

两者都是引用数据类型,其变量可以被赋值为子类或者实现接口的类的对象。

 

不同点:

抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之间共同使用的方法。

抽象类与子类之间采用单继承机制;一个类实现了多个接口实现了多继承的功能。

抽象类及其类中成员具有与普通类一样的访问权限;接口中的访问权限都是public

抽象类可以包含非抽象的方法,也可以声明构造方法;接口中的方法全部都是抽象方法。

抽象类可以声明成员变量,子类可以对成员变量赋值;接口只能声明常量。

 

内部类

声明内部类在一个类中包含另一个类的定义内部类可以在类、方法甚至语句块中定义内部类可以是privateprotected

转载于:https://www.cnblogs.com/love-javabean/p/3667253.html


最新回复(0)