javaSE-chapter8类和对象概述

1. 抽象

    从特定的角度出发,从已经存在的事物中抽取我们所关注的特性和行为,从而形成一个新的事物的思维过程,是一种从复杂到简洁的思维方式。

    类和对象的关系:对象是类的实例,类是对象的模板。


2. 类

  2.1 定义格式:

    [修饰符] class 类名 {

        [成员变量]

        [方法]

    }

  注意:如果类使用了public修饰符,则必须保证当前文件名和当前类名保持一致;

            类名需满足标识符命名规则,且一般首字母为大写;


3. 对象

  3.1 对象的创建

  3.2 对象的生命周期: 从new  ---->  gc垃圾回收器回收


4. 构造器

  4.1 作用: 用于对象的创建和初始化工作

  4.2 特点

    4.2.1 构造器的名称必须与当前所在类的名称一致

    4.2.2 构造器没有定义返回类型,不能用return关键字。但构造器是有返回值的,返回的是当前创建对象的引用地址。

  4.3 默认构造器

    4.3.1 当我们没有自定义构造器时,编译器会给类自定义默认无参构造器

    4.3.2 默认无参构造器符合构造器的特点

    4.3.3 默认无参构造器无参数无方法体

    4.3.4 如果所在类没有用public修饰符修饰,则默认无参构造器也不会有public修饰符,反之亦然

    4.3.5 构造器和普通方法一样,可以自定义进行重载

    4.3.6 如果我们自定义了构造器,则编译器不会再为我们创建默认无参构造器。某个类必须至少存在一个构造器


5. static修饰符

  5.1 static修饰符表示静态的,可以修饰成员变量,方法,内部类,被static修饰的成员属于类

  5.2 特点

    5.2.1 static修饰的成员,随着所在类的加载而加载并初始化,当jvm把字节码加载进jvm内存的时候,static修饰的成员会被加载并初始化

    5.2.2 static修饰的成员被所在类的所有对象共享

  5.3 static成员和非static成员的访问

    5.3.1 在类的定义中,静态成员(静态成员变量,静态方法,静态内部类)不能访问实例成员,但非静态成员可以访问类成员

    原因:类的静态成员(静态成员变量,静态方法,静态内部类)在该类被JVM加载的时候就被加载进内存被进行初始化,而非静态成员是在实例创建并初始化的过程中才会被存储在内存中

public class StaticDemo {

	public static String staticField;
	
	public String unStaticField;
	
	public static void staticFunction(){
		System.out.println(staticField); //静态方法中只能访问静态变量
		//System.out.println(unStaticField); //静态方法中不能访问非静态变量--编译报错
	}
	
	public void unStaticFunction(){
		System.out.println(staticField);
		System.out.println(unStaticField);
	}
}
    5.3.2 静态成员可以通过类直接访问,也可以通过类的实例对象访问。但非静态成员不能通过类直接访问

  

猜你喜欢

转载自blog.csdn.net/tca0819/article/details/80374487