static、常量和抽象类

static:静态

1.修饰成员变量:

(1)static修饰的成员变量叫静态成员变量;不属于对象的结构;

(2)static修饰的成员变量,在调用时用  类名.变量名调用;

(3)静态成员变量和类的信息放在方法区,只存在一份,是类的公共资源

2.static修饰方法:

(1)通常的方法都是与具体的对象有关系,即对象的方法(行为)

(2)static修饰的方法,存在方法区中,与对象毫无关系,是类的方法,通常使用类名调用;

(3)static修饰的方法不能使用this关键字,因此不能直接调用非静态成员变量、

3.static修饰代码块:

语法:

   static{

逻辑代码

}

静态方法存储在方法区中,只加载一次,与类的对象无关,加载时机为加载类的信息之前,可以理解为创建实例化之前

作用是用来加载类的静态资源,如图片,视频等

非静态代码块

{

非静态代码

}

非静态代码块在实例化之前执行,实例化一次就执行一次,没有实例化就不会执行,

常量:

一般使用成员变量,使用static,final,public,声明时必须初始化,也可以在静态代码块初始化,实例化之前必须初始化

命名规则:字母全部大写

设计模式之单例模式

在程序的设计过程中,在程序的任何地方,我们有时候想要获取某一个类的唯一对象,就称为单例模式

单例模式需要的条件:

(1)需要一个私有的静态的本类型的成员变量

(2)提供一个私有的构造器

(3)提供一个私有的静态的方法

抽象类:
  因为继承的关系,子类的功能可以越来越具体,相对来说,父类更加一般化,通用化,因为父类封装了子类的共同行为,所以,在定义
  时,我们可以定义方法的逻辑。有的时候,在父类中无法完成子类的功能需求,此时不如不写,即不写方法体{}代码简单化。
  但是此方法必须使用abstract修饰,那么此类型也必须使用abstract修饰,即抽象类
  1.抽象方法与抽象类
      1)用abstract修饰的方法,不需要写方法体,但是得用分号结尾
      2)有抽象方法的类必须使用abstract声(修饰)
  2.抽象类不能实例化
      1)抽象类不能创建对象,没有意义
      2)抽象类可以提供构造器,
      3)抽象类中可以没有抽象方法
      4)abstract和final不能同时修饰一个类型
  3.继承抽象类
      1)若一个类继承了抽象类,那么这个类必须重写(实现)抽象类的方法
      2)若一个类没有实现抽象类的所有抽象方法,那么这个类必须使用abstract修饰
  4.抽象类的意义
      1)给不同的子类定义一个父类,
      2)抽象类可以封装子类的共同特征和共同行为
      3)虽然子类可能有不同的实现逻辑,但是子类方法的定义一致        
    

猜你喜欢

转载自blog.csdn.net/Peanut_508/article/details/81429946
今日推荐