学习资料
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);
}
}