abstract修饰符

1、一个类不能同时被 abstract 和 final 修饰。

2、如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。

3、抽象类可以包含抽象方法和非抽象方法

4、抽象方法是由子类来实现

5、抽象方法不能被声明成 final 和 static

6、任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类。

 1     //定义一个抽象类
 2     public static abstract class sum{
 3         abstract int Get(int x);
 4         abstract int Get1(int x);
 5         public int ss(int y){
 6             return y;
 7         }
 8     }
 9     //子类是非抽象类
10     public static class Printi extends sum{
11         //子类为非抽象类,则父类的方法必须实现
12         int Get(int x) {
13             return 0;
14         }
15         int Get1(int x) {
16             return 0;
17         }
18     }
19     //子类也是抽象类
20     public abstract class Printi2 extends sum{
21         //子类为抽象类,则父类的抽象方法可以不实现
22         abstract int Get1(int x);
23     }

在main函数中调用2种方法:

 1     public static void main(String[] args) {
 2         //第一种new一个抽象类父类的对象,实现内部类的方法
 3         sum su = new sum() {
 4             int Get1(int x) {
 5                 // TODO Auto-generated method stub
 6                 return 0;
 7             }
 8             int Get(int x) {
 9                 // TODO Auto-generated method stub
10                 return 0;
11             }
12         };
13         //然后调用
14         su.Get(0);
15         //第二张,生成非抽象类的子类对象,访问抽象类的方法
16         Printi printi = new Printi();
17     }
原文地址:https://www.cnblogs.com/OSKnown/p/8670253.html