Java——面向对象(上)

面向对象编程

Java的核心思想就是OOP

初识面向对象

面向对象

  • 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据

  • 抽象

  • 三大特性

    • 封装
    • 继承
    • 多态

回顾方法调用

package com.java.oop.demo01;

//引用传递:对象,本质还是值传递
public class Demo05 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name);//null
        Demo05.change(person);
        System.out.println(person.name);//yorkchain

    }

    public static void change(Person person) {
        //可以把person看作一个指针(实际上是一个对象),指向的是----->Person person = new Person();这是一个具体的人,可以改变属性!
         person.name = "yorkchain";
    }

}
//定义了一个Person类,有一个属性:name
class Person{
    String name;
}

类与对象的关系

类与对象的关系

  • 使用new关键字创建对象

  • 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化,以及对类中构造器的调用

package com.java.oop.demo02;

//一个项目应该只存在一个main方法
public class Application {
    public static void main(String[] args) {

        //类:抽象的,实例化
        //类实例化后会返回一个自己的对象!
        //student对象就是一个Student类的具体实例!
        Student xiaoming = new Student();
        Student xiaohong = new Student();
        xiaoming.name="小明";
        xiaoming.age=18;
        xiaohong.name="小红";
        xiaohong.age=18;
        System.out.println(xiaoming.name);
        System.out.println(xiaoming.age);
    }
}
package com.java.oop.demo02;

//学生类
public class Student {

    //属性:字段
    String name;
    int age;


    //方法
    public void  study(){
        System.out.println(this.name+"在学习");
    }


}

构造器

构造器

package com.java.oop.demo02;

public class Person {
    //一个类即使什么都不写,也会存在一个方法
    //显式地定义一个构造器
    String name;
    //实例化初始值
    //使用 new 关键字,本质上是在调用构造器
    //用来初始化值
    public Person(){

    }
    //一旦定义了有参构造,无参构造必须显式定义,否则无效
    public Person(String name){
        this.name= name;
    }
    //快捷键   alt+insert
}

package com.java.oop.demo02;

//一个项目应该只存在一个main方法
public class Application {
    public static void main(String[] args) {
        //new   实例化了一个对象
       Person person = new Person();
        System.out.println(person.name);
    }
}

内存分析

之前的博客讲了

类与对象小结

  • 类与对象

    ​ 类是一个模版:抽象;对象是一个具体的实例

  • 方法

    ​ 定义、调用!

  • 对应的引用

    ​ 引用类型:基本类型(8)

    ​ 对象通过引用来操作的:栈----->堆

  • 属性:字段Field 成员变量

    ​ 默认初识化:

    ​ 数字:0 0.0

    ​ char:u0000

    ​ boolean:false

    ​ 引用:null

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

  • 对象的创建和使用

    • 必须使用new 关键字创建对象,构造器 Person ren = new Person();
    • 对象的属性 ren.name
    • 对象的方法 ren.sleep()
  • 类:

    ​ 静态的属性 属性

    ​ 动态的行为 方法

posted @ 2026-01-14 19:24  yorkchain  阅读(6)  评论(0)    收藏  举报