[Java] 带你走进<类和对象>的世界

[Java] 带你走进<类和对象>的世界,第1张

[Java] 带你走进<类和对象>的世界 类:构造对象的模板 Student类 姓名AB身高167170模板(类)对象对象

1.类的定义 属性的定义

class Student{     //类的定义
    String name;  //属性的定义
    int age;
}

什么是属性呢? 在 类里,方法外, 定义变量且不加 static 就是属性

2.实例化对象的语法

Student s = new Student();

通过引用  使用引用  指向的对象的属性

例如:s.name = ...;           ... = s.name;

3.关于属性的初始化的语法

        1)默认值规则

        2)构造方法规则(构造器)

        (和方法长得有点类似)

class Student{
    Student(){
        ...
    }

    Student(int a){...}
}

                备注:a.构造方法的名称 == 类名称

                b.没有返回值类型的声明

                c.构造器重载

                d.没有任何构造方法时,会自动补一个无参构造方法

                e.实例化时,根据参数列表选择何时的构造方法调用

    public Student() {
        name = "默认值";
        major = "搬砖";
        height = 180;
        System.out.println("我是无参的构造方法");
    }

    public Student(String n, String m, int h) {
        name = n;
        major = m;
        height = h;
       System.out.println("我是 String 参数的构造方法");
    }

    public Student(String a, int b) {
        System.out.println("(String, int) 构造方法");
    }

        3)定义时初始化

        4)构造代码块规则( 在类的内部,方法的外部 )

执行顺序:1.默认值规则

                2.定义时初始化和构造代码块按照书写顺序

                3.构造器

4.this

作用1 : 引用 ( 在构造方法中,在实例方法中 代表指向当前对象的引用 )类型就是当前类

        class Person{ this 类型 Person }

        class Cat{ this 类型 Cat }

        指向当前的对象 : 构造器中 this 指向的就是当前正在构造的对象

        this.name    this.age 

作用2 : 在一个构造方法中调用其他构造方法

        this(...)必须是第一行

5.使用属性的语法

        s.name        s.age        this.name        this.age

6.行为:在java中以实例方法的形式体现,定义与之前想同,不加static,在实例方法中可以直接访问属性(和构造方法类似)

方法:1.静态方法 (类方法) 加 static 修饰——不能访问属性,不可以使用this

        2.普通方法 (实例方法) 不加static——可以访问属性,可是使用this

调用:

        实例方法的调用,必须依赖一个对象 (通过引用) 的存在

        Person p = new Person();

        p.sayHello();    引用 点 普通方法()

普通方法静态方法方法内部有this没有this可以访问属性不能访问对象属性可以调用普通方法不能调用普通方法方法外部对象的引用去调用可以直接调用"需要传入一个this""不需要传入this"

7.类 => 对象的过程   实例化

8.总结:在静态上下文中无法直接调用普通方法 访问对象属性

        1)static {...}

        2)静态方法

对于static的理解:加了 static 之后,只和类有关,和类本身的对象无关.反之,不加static,和本类的对象息息相关.

9.变量 & 方法

三种类型的变量 局部变量生命周期:跟着方法的运行走区域:栈帧 > 栈类变量、静态变量、静态属性生命周期:跟着类的加载、卸载走区域:类 > 方法区实例变量、属性生命周期:跟着对象实例化,清理走区域:对象 > 堆区 方法 静态方法

方法区

普通方法方法区

10.类里可以写什么

类{

       //和对象无关——static系列——和类本身绑定

        1.静态属性        2.静态方法        3.静态代码块 (静态上下文)

        //和对象有关——不加static系列——和类+对象绑定

        1.属性        2.方法        3.构造代码块        4.构造器

}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5693464.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存