类,抽象类,接口的区别

在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");
    }

}

猜你喜欢

转载自136416513.iteye.com/blog/2344954