文章目录
1、面向对象思想
面向对象的思想其实就是让我们去指挥别人或者是使用工具帮我们去把要做的事情完成。
2、类和对象
2.1 概念
类:模具
对象:使用模具生产出来的对象
2.2 类的定义
用类去描述一类事物的共同点,分两种:属性(成员变量)、行为(成员方法)
- 成员变量:定义在类中 方法外的变量就是成员变量。
- 成员方法:没有static修饰的方法就是成员方法。
一个标准类的写法:成员变量都用private修饰,提供对应的set/ get方法,提供空参和全参构造
public class Phone {
// 成员变量
String brand; // 品牌
double price; // 价格
String color; // 颜色
// 成员方法
public void call() {
System.out.println("打打电话");
}
public void sendMessage() {
System.out.println("群发短信");
}
}
2.3 对象的创建和使用
2.3.1 对象创建
类名 对象名 = new 类名();
Phone phone = new Phone();
Student stu = new Student();
2.3.2 成员变量的使用
对象名.成员变量名
- 使用本类中的成员变量的时候, 对象名. 可以省略 可以直接写 成员变量名
Phone phone = new Phone();
//设置phone的brand属性
phone.brand = "华为";
//打印phone的brand属性
System.out.println(phone.brand);
2.3.3 成员方法的调用
对象名.方法名(参数)
- 使用本类中的成员方法的时候 对象名. 可以省略 可以直接写 方法名(参数)
Phone phone = new Phone();
//使用phone的sendMessage方法
phone.sendMessage();
3.构造方法
3.1 作用
- 创建对象
- 先对类中的成员变量进行默认初始化
- 再在创建对象的时候更便捷的对成员变量进行赋值
注意:如果一个类中没有写构造方法,编译器会默认送我们一个无参构造方法,但是如果自己写了,编译器就不会送了。这种情况下建议自己再加一个无参构造
3.2 格式
- 没有返回值类型,连void都不能写
- 方法名和类名必须相同
public class Phone {
// 成员变量
String brand; // 品牌
double price; // 价格
String color; // 颜色
public Phone(){
//这是一个无参构造
}
public Phone(String color,double price,String brand){
//这是一个有参构造
this.color = color;
this.price = price;
this.brand = brand;
}
}
3.3 调用
new 类名(参数);
Phone p = new Phone();
Phone p2 = new Phone("原谅绿",2999.9,"华为");