如何使用从超类到子类的变量?

2022-09-04 19:39:32

我有一个超类,我想使用这个超类内部的变量到我的子类中。这怎么可能?


答案 1

只需使字段 ,这意味着它应该对所有派生类可见。protected


答案 2

我有一个超类,我想使用这个超类内部的变量到我的子类中。这怎么可能?

如果您的变量被声明为或(或),您的变量具有访问权限(在这种情况下,您不使用任何关键字指定),并且它们位于同一包中(-->您可以直接在子类中访问它。如果您很具体,则可以使用关键字。protectedpublicdefaultthis

例:

   public class A{
         protected int field=1;
   } 
   public class B extends A{
         public B(){
             System.out.println(this.field);
         }
         public static void main(String args[]){
           new B();
        }
   }

请注意,无法覆盖变量。如果你有一个与超类同名的变量,那么你就不走运了,直接访问它。然后你可以使用关键字。super

       public class A{
             protected int field=1;
       } 
       public class B extends A{
             protected int field=3;
             public B(){
                 System.out.println(this.field);
                 System.out.println(super.field);
             }
        public static void main(String args[]){
           new B();
        }
       }