[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.构造器

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值