static和抽象类

static:

package com.cheng.oop.pol;

public class Demo01 {

   private static int age;//静态变量
   private double score;//非静态变量

   public static void main(String[] args) {

       Demo01 demo01 = new Demo01();

       System.out.println(Demo01.age);//static修饰的变量可以通过 类名.变量名 直接调用
       System.out.println(demo01.age);//可通过 对象名.变量名调用
       System.out.println(demo01.score);//可通过 对象名.变量名调用

  }

}

package com.cheng.oop.pol;

public class Demo01 {

  {//第二执行
       System.out.println("匿名代码块");
  }

   static {//第一执行
       System.out.println("静态代码块");
  }
   public Demo01(){//第三执行
       System.out.println("构造方法");
  }

   public static void main(String[] args) {
       Demo01 demo01 = new Demo01();//实例化
       System.out.println("============");
       Demo01 demo02 = new Demo01();//两次实例
       /*
       输出结果如下
       静态代码块
       匿名代码块
       构造方法
       ============
       匿名代码块
       构造方法

          可以看出静态代码块只执行了一次,是在类加载的时候执行。
        */
  }

}

 


抽象类:

父类:

package com.cheng.annotation;

//抽象类,相当于是约束
//由其子类对其抽象方法进行重写
public abstract class Abstract {
   public abstract void act();//抽象类的抽象方法

}

子类:

package com.cheng.annotation;
//抽象类的子类继承父类,对其方法抽象方法进行重写
//若其子类仍为抽象类,则子类的子类实现方法
public class Abstract2 extends Abstract{
   @Override//方法的重写
   public void act() {
       System.out.println("父类抽象方法的重写");//直接进行一个写的重
  }
}


//抽象类不能new

 

posted @ 2021-06-04 10:00  Dudo1  阅读(95)  评论(0)    收藏  举报