java学习笔记(面向对象oop)(六)

面向对象编程

  • 面向对象编程(Object-Oriented Programming,OOP)
  • 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。
  • 抽象
  • 三大特性 (封装,继承,多态)
  • 静态方法可直接调用
  • 非静态方法需要 new 需要类实例化
package com.hongyuan.oop;

public class Demo02 {
    public static void main(String[] args) {
        Demo01 demo01 = new Demo01();
        demo01.Student();
    }
}

package com.hongyuan.oop;

public class Demo01 {
    // 学生类
    public void Student(){
        System.out.println("hello");
    }
}

值传递,引用传递

(1)基本数据类型传值,对形参的修改不会影响实参;
(2)引用类型传引用,形参和实参指向同一个内存地址(同一个对象),所以对参数的修改会影响到实际的对象;
(3)String, Integer, Double等immutable的类型特殊处理,可以理解为传值,最后的操作不会修改实参对象。

类和对象

  • 从认识论的角度考虑是现有对象后有类,对象,是具体的事物,类,是抽象的,是对对象的抽象
  • 从代码运行角度考虑是现有类后有对象,类是对象的模板
  • 使用new关键字创建对象时,除了分配内存空间之外,还会给 创建好的对象 进行默认的初始化,以及类中构造器的调用
  • 面向对象的本质(oop):以类的方式组织代码,以对象的组织(封装)数据

构造方法

  • 类需要构造方法?
  • 使用new关键字,必须要有构造器。
  • 使用new的本质是调用构造器
  • 一旦定义了有残构造,无参构造就必须显示定义
  • 构造器一般用来初始化值

构造器

  • 和类名相同

  • 没有返回值

  • new 本质就是调用构造器

  • 初始化对象值

  • 定义了有参构造之后,如果想使用无参构造,显示的定义了一个无参的构造

this 关键字,返回当前类的对象

package com.hongyuan.oss;

public class application {
    public static void main(String[] args) {
        Student student = new Student();
        System.out.println(student.name);
        System.out.println("============");
        Student student1 = new Student("hongyuan");
        System.out.println(student1.name);
    }
}

package com.hongyuan.oss;

public class Student {

    String name;
    int age;

    // 使用new 关键字的本质是在调用构造器
    // 构造器的主要作用是初始化值
    public Student(){
        this.name = "钟";
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Student(int age) {
        this.age = age;
    }

    public Student(String name){
        this.name = name;
    };

}

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值