在Java中,类可以被继承,可以实例化,但是不能有抽象方法,代码如下:
//创建一个类A public class A{ //创建一个成员方法 public void print() { } } //创建一个B类继承A类 public class B extends A{ } //创建一个主类 public class Main{ public static void main(String [] args) { //实例化类A A a = new A(); } }
如果要在类中定义抽象方法,这个类必须声明成抽象类,抽象类不再能实例化,且这个抽象类的子类必须重写抽象方法,但如果一个类是抽象类,它不一定要有抽象方法
//创建一个抽象类A public abstract class A{ //创建一个抽象方法 public abstract void pirnt{} } //创建一个类B继承抽象类A public class B extends A { public void print(){} }
接口中的方法全是,所以在声明方法时不要再加abstract,接口可以继承接口,类只能实现接口,接口同样也不能实例化,接口中的方法必须在实现这个接口的类中重写,一个类只可以继承一个类,但可以实现多个接口,代码如下
//创建一个接口A public interface A{ public void a(){} } // 创建一个接口B public interface B{ public void b(){} } //创建一个抽象类 C public abstract class C{ public abstract void c(){} } //创建一个类D,继承抽象类C,实现接口A,B public class D extends C implements A,B{ public void a() { System.out.print("a"); } public void b() { System.out.print("b"); } public void c() { System.out.print("c"); } }