Java:面向对象(上)

学习资料

b站狂神说:https://www.bilibili.com/video/BV12J41137hu

面向对象思想

物以类聚,分类的思维模式,思考问题首先会解决问题需要那些分类,对分类进行单独思考

面向对象本质

以类的方式组织代码,以对象的组织(封装)数据。

面向对象三大特性

  • 封装
  • 继承
  • 多态

类是对象的模版,对象是类的实例(一类事物的具体描述)

类定义

package com.zy7y.oop;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.oop
 * @Author: zy7y
 * @Date: 2020/8/14 下午11:57
 * @Description: 学生类
 */
public class Student {

    // 属性
    String name;
    int age;

    //方法
    public void study(){
        // this, 指当前实例
        System.out.println(this.name + "学习JavaSE");
    }
}

实例化类

package com.zy7y.oop;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.oop
 * @Author: zy7y
 * @Date: 2020/8/14 下午11:58
 * @Description: 启动方法
 */
public class Application {
    public static void main(String[] args) {
        // 实例化:一个Student对象
        Student student = new Student();
        student.name = "小明";
        student.study();
    }
}

构造方法

package com.zy7y.oop;

import com.sun.tools.javac.comp.Resolve;

/**
 * @ProjectName: JavaSE
 * @PackageName: com.zy7y.oop
 * @Author: zy7y
 * @Date: 2020/8/15 上午12:04
 * @Description: 构造方法: public 类名(), 无返回值
 */
public class Person {
    String name;
    // 类中默认有一个无参构造方法

    // 定义有参构造方法;构造方法的作用,初始化属性, 如果定义了有参构造方法,还需要无参构造方法,需要显示定义无参构造方法
    public Person(String name){
        this.name = name;
    }
    // alt + insert 快速生成构造方法


    // 显示定义无参构造方法
    public Person() {
        this.name = "zy7y";
    }
}

// 启动文件
public class Application {
    public static void main(String[] args) {

        // 使用有参构造方法来初始化name属性
        Person person = new Person("小军");
        System.out.println(person.name);

        // 使用无参数构造方法
        Person zy7y = new Person();
        System.out.println(zy7y.name);
    }
}

创建对象内存分析

作者:zy7y
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/zy7y/p/13508561.html