[Java] 抽象类的实现与继承 →→→→→进入此内容的聊天室

来自 , 2020-01-19, 写在 Java, 查看 104 次.
URL http://www.code666.cn/view/310ce61c
  1. package AbstractClassAndInterface;
  2. /**
  3.  *      
  4.  * @author 锋客
  5.  * 内容:
  6.  * 1.抽象类的定义与创建
  7.  * 2.抽象类中的方法:抽象方法,普通方法;但是,抽象方法只能是protected和public修饰
  8.  *   当抽象方法没有修饰时,采用public
  9.  * 3.抽象类中的属性或者是变量:可以使任意范围
  10.  * 4.抽象类不能用于创建对象
  11.  *
  12.  */
  13. //abstract修饰的类,为抽象类
  14. public  abstract class AbstractClass {
  15.         private String a="private";
  16.         public String b="public";
  17.         protected String c="protected";
  18.         String d="null";
  19.         final String e="final";
  20.         static String f="static";
  21.        
  22.         //抽象类的方法问题
  23.         //抽象方法不能实现
  24.         public abstract void setPublicMethod();
  25.         //如果为private,则不能被子类继承,子类便无法实现该方法
  26.         //private abstract void setPrivateMethod();
  27.         //protected可以修饰
  28.         protected abstract void setprotectedMethod();
  29.         //默认情况下是public
  30.         abstract void setNoMethod();
  31.         //也可以使用非抽象的方法
  32.         public void setNotAbstractMethod(){
  33.                
  34.         }
  35. }
  36.  
  37. //Test1继承抽象类AbstractClass,必须实现其所有的抽象方法;
  38. class Test1 extends AbstractClass{
  39.  
  40.         @Override
  41.         public void setPublicMethod() {
  42.                 // TODO Auto-generated method stub
  43.                
  44.         }
  45.  
  46.         @Override
  47.         protected void setprotectedMethod() {
  48.                 // TODO Auto-generated method stub
  49.                
  50.         }
  51.  
  52.         @Override
  53.         void setNoMethod() {
  54.                 // TODO Auto-generated method stub
  55.                
  56.         }
  57. }
  58.  
  59. //如果只是实现父类(抽象类)的部分抽象方法,子类也必须写成抽象类
  60. abstract class Test2 extends AbstractClass{
  61.  
  62.         @Override
  63.         public void setPublicMethod() {
  64.                 // TODO Auto-generated method stub
  65.                
  66.         }
  67.  
  68.         @Override
  69.         protected void setprotectedMethod() {
  70.                 // TODO Auto-generated method stub
  71.                
  72.         }
  73. }
  74.  
  75.  class Test{
  76.         public static void main(String[] args) {
  77.                 //不能创建对象
  78.                 //AbstractClass abstractClass=new AbstractClass();
  79.             //但可以这样使用:
  80.                 AbstractClass abstractClass=new AbstractClass() {
  81.                        
  82.                         @Override
  83.                         protected void setprotectedMethod() {
  84.                                 // TODO Auto-generated method stub
  85.                                
  86.                         }
  87.                        
  88.                         @Override
  89.                         public void setPublicMethod() {
  90.                                 // TODO Auto-generated method stub
  91.                                
  92.                         }
  93.                        
  94.                         @Override
  95.                         void setNoMethod() {
  96.                                 // TODO Auto-generated method stub
  97.                                
  98.                         }
  99.                 };
  100.                
  101.                
  102.                
  103.         }
  104. }

回复 "抽象类的实现与继承"

这儿你可以回复上面这条便签

captcha