moc 发表于 2018-12-21 19:51:22

Java-005类与对象

本帖最后由 moc 于 2018-12-21 19:50 编辑

1、属性和方法
类是对现实事物的抽象,是对方法和属性的封装。
属性: 即类中的变量,包括:
局部变量:   => 在方法、构造方法或者语句块中定义的变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:   => 在类中,方法体之外的变量定义。在创建对象的时实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
成员变量:   => 类变量也声明在类中,方法体之外,但必须声明为static类型。
构造方法:
格式:
        A:方法名和类名相同
        B:没有返回值类型,连void都不能有
        C:没有返回值
每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。
与C++类似,如如果我们给出了构造方法,系统将不再提供默认构造方法。
2、关键概念
Student s = new Student()执行的过程:
        (1)把Student.class文件加载到内存
        (2)在栈内存为s开辟空间
        (3)在堆内存为学生对象申请空间
        (4)给学生的成员变量进行默认初始化。null,0
        (5)通过构造方法给成员变量进行初始化。刘意,30
        (6)对象构造完毕,把地址赋值给s变量
匿名对象:
(1)没有名字的对象
(2)应用场景
        A:调用方法,仅仅只调用一次的时候。
        b:可以作为实际参数传递。
this关键字:
        代表当前类的本身的引用。
static关键字:
        (1)静态含义:
                可以修饰成员变量和成员方法。       
        (2)静态的特点:
                        A:随着类的加载而加载
                        B:优先与对象存在
                        C:被类的所有对象共享
                        D:可以通过类名调用
        (3)静态的内存图
                        静态的内容在方法区的静态区
        (4)静态的注意事项:
                        A:在静态方法中没有this对象
                        B:静态只能访问静态
3、代码块
(1)用{}括起来的代码。
(2)分类:
        A:局部代码块
                用于限定变量的生命周期,及早释放,提高内存利用率。
        B:构造代码块
                定义在类的成员位置上,使用"{}"括起来的代码。
                把多个构造方法中相同的代码可以放到这里,每个构造方法执行前,首先执行构造代码块。
        C:静态代码块
                定义在类的成员位置上,使用"{}"括起来的代码,只是多了一个static修饰。
                静态代码块是类被加载的时候就会执行,静态代码块只会被执行一次,对类的数据进行初始化。
        (3)静态代码块,构造代码块,构造方法的顺序问题?
                静态代码块 > 构造代码块 > 构造方法
页: [1]
查看完整版本: Java-005类与对象