类:建立对象的模板。 一个类主要描述的是: 状态 + 行为 状态–>一个类的属性 行为–>一个类的方法 类–【实例化】->对象 Java中类的声明格式:
[修饰符] class 类名 [extends 父类] [implements 接口名] { 类成员变量声明 //描述对象的状态 类方法的声明 //描述对象的行为 }对象:对象是实际存在的个体。 对象又被成为实例,每个对象都是类的一个新实例。 对象–【抽象】->类
一个类要想真正的进行操作,则必须依靠对象,对象的定义格式如下: 类名称 对象名称 = new 类名称() ; 如果要想访问类中的属性或方法(方法的定义),则可以依靠以下的语法形式: 访问类中的属性: 对象.属性 ; 调用类中的方法: 对象.方法(实际参数列表) ;
类的修饰符说明了类的属性,分为访问控制符、抽象类说明符和最终类说明符三种。
类修饰符:类的修饰符说明了类的属性,分为访问控制符、抽象类说明和最终类说明符三种。
public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。
private(私有),仅能被类自身的内部函数成员访问,其他任何类都不能直接访问。
protected(受保护的),同private,但能被继承类受保护的成员访问,不能直接被私有成员访问。 abstract(抽象类说明符),将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。
final(最终类说明符),将一个类生命为最终(即非继承类),表示他不能被其他类继承。
friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类。
成员变量修饰符:public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问。
private(私有访问控制符)指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。
protected(保护访问控制符)指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变量。
friendly ,在同一个包中的类可以访问,其他包中的类不能访问。
final,最终修饰符,指定此变量的值不能变。
static(静态修饰符)指定变量被所有对象共享,即所有实例都可以使用该变量。变量属于这个类。
transient(过度修饰符)指定该变量是系统保留,暂无特别作用的临时性变量。
volatile(易失修饰符)指定该变量可以同时被几个线程控制和修改。
方法修饰符:public(公共控制符)
private(私有控制符)指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类)
protected(保护访问控制符)指定该方法可以被它的类和子类进行访问。
final,指定该方法不能被重载。
static,指定不需要实例化就可以激活的一个方法。
synchronize,同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。
native,本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的。
static是静态修饰符,可以修饰类的属性,也可以修饰类的方法。被static修饰的属性不属于任何一个类的具体对象,是公共的存储单元。
静态属性 定义静态数据:在属性的前面加上static关键字。 例如: class StaticText{ static int i = 7; }接下来,声明两个StaticText对象,但它们同样拥有StaticText.i的一个存储空间。
StaticText st1 = new StaticText(); StaticText st2 = new StaticText();无论是st1还是st2都有同样的值47,因为他们引用的是同样的内存区域。 2. 静态代码块 一般形式:
static { 语句序列 }下面代码定义了一个静态代码块`
static{ int stVar = 12 ; //这是一个局部变量,只在本块内有效 System.out.println("This is static block."+ stVar);编译通过后,用Java命令加载本程序,程序的运行结果是首先输出:
This is static block.12接下来才是main()方法的输出结果,由此可知,静态代码块甚至在main方法之前就被执行。 main()是一个静态方法,所以它才能被系统直接调用。
静态方法 声明与定义: [访问权限修饰符] static [返回值类型] 方法名([参数列表]) { 语句序列 }静态方法和非静态方法区别: 在外部调用静态方法时,可以使用“类名.方法名”的方式,也可使用“对象名.方法名”的方式,而实例方法只有后面这种方式。(即调用静态方法可以无需创建对象) 静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),不能访问非静态的成员变量。
final成员 定义变量时,在其前面加上final关键字。 这个变量一旦被初始化便不可改变。 初始化可以在两个地方:一是其定义处;二是在构造方法中。
final方法 将方法声明为final,不允许任何从此类继承的类来覆写这个方法,但是仍然可以继承这个方法。
final类 一个final类是无法被任何人继承的。