欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Day10 java面向对象:对象的定义和使用,构造器,内存分析,类与对象

程序员文章站 2024-02-26 17:15:10
...

面向对象

面向过程&面向对象

Day10 java面向对象:对象的定义和使用,构造器,内存分析,类与对象

面向对象抽象出来的是对象、属性和方法。

什么是面向对象

面向对象:以类的方式组织代码,以对象的方式组织数据。

Day10 java面向对象:对象的定义和使用,构造器,内存分析,类与对象

回顾方法及加深

Day10 java面向对象:对象的定义和使用,构造器,内存分析,类与对象
1.static修饰的方法是和类一起加载,普通类的方法在类实例化之后才存在。

2.值传递和引用传递。

3.this代表当前类或对象。

public class Demo01 {
    public static void main(String[] args) {
        int a=1;
        change(a); //值传递
        System.out.println(a);//1

        Persion persion=new Persion();
        persion.name="123";
        change(persion); //引用传递
        System.out.println(persion.name);//“jyw”
    }
    public static void change(int a){
        a=10;
    }
    public static void change(Persion a){
        //Persion是一个对象:指向具体的人
        a.name="jyw";
    }
}
//定义一个persion类,有一个属性:name
class Persion{
    String name;//null
}

创建和初始化对象

Day10 java面向对象:对象的定义和使用,构造器,内存分析,类与对象

public static void main(String[] args) {
    //类:抽象的,需要实例化
    //类实例化后会返回一个自己的对象!
    //student对象是一个Student类的具体实例
    Student student=new Student();
    Student student1=new Student();
    student.name="小明";
    student.age=3;
    student1.name="小红";
    student.age=4;

    System.out.println(student.name);//小明
}

构造器详解

//java文件编译后生成class文件
public class Persion {
    //一个类即使什么都不写,它也会存在一个方法
    //显示的定义构造器
    String name;
    int age;

    //实例化初始值。
    //构造器的作用:1.使用new关键字,本质是在调用构造器
    //2.初始化值
    public Persion() {
    }

    //有参构造:一旦定义了有参构造,无参构造必须显示定义
    public Persion(String name, int age) {
        this.name = name;
        this.age = age;
    }

    /*
    构造器的特点:
    1.和类名相同
    2.没有返回值
    作用
    1.new 本质在调用构造方法
    2.初始化对象的值
    注意点:
    1.定义有参构造之后,如果想使用无参构造,需要显示定义无参构造
    2.Alt+Insert 快捷键快速生成构造函数
     */
}

\color{red}{对象内存分析}

Day10 java面向对象:对象的定义和使用,构造器,内存分析,类与对象

视频分析地址:狂神说javahttps://www.bilibili.com/video/BV12J41137hu?p=65

类与对象小结

Day10 java面向对象:对象的定义和使用,构造器,内存分析,类与对象

  1. 类和对象

    类是一个模板,抽象的;对象是一个具体的实例。

  2. 方法

    定义、调用!

  3. 对象的引用

    引用类型;基本类型(8种)

    对象是通过引用来操作的:栈—>堆

  4. 对象的属性:字段Field 成员变量

    默认初始化:

    ​ 数字:0 0.1

    ​ char:u0000

    ​ boolean:false

    ​ 应用:null

​ 修饰符 属性类型 属性名=属性值

  1. 对象的创建和使用

    • 必须使用new关键字创造对象;构造器Persion jyw=new Pers();
    • 对象的属性 jyw.name
    • 对象的方法 jyw.sleep()
  2. 静态的属性 属性

    动态的行为 方法

相关标签: java