![826451ef9db8e7c5e08806d8e7d276d7.png](https://i-blog.csdnimg.cn/blog_migrate/8509b39ba3c38b4fbff4f8909ab263f5.jpeg)
4.1 类与对象(掌握如何使用)
类:是一组相关属性(名字、年龄)和行为(跑、跳)的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物
public class ClassName {
//成员变量
//成员方法
}
对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性和行为。
类名 对象名 = new 类名();
关系:类是对一类事物的描述,是抽象的。对象是一类事物的实例,是具体的。类是对象的模板,对象是类的实体。
在学习此章的时候,会涉及到双类,
一个类是被操作于对象的类,另一个是用来测试该类的类。
例子一:创建一个狗的对象。
分析需求:狗有哪些属性?狗有哪些行为?
属性:狗的大小、狗的颜色、狗的年龄
行为:叫、跑、吃屎
这是第一个类,注意两个类文件需要在同一个PACKAGE下。
从逻辑上来理解就是,我们首先要把狗的相关模型写出来(第一个类构建模板),写出来之后然后往里头添加具体值使狗实体化(第二个类定义对象实体化)。
第一步:满足需求,我们我们把狗的属性和行为给定义出来
public class Dog {
int size;
String color;
String name;
int age;
void bark(){
System.out.println("ruff");
}
}
第二步:新建一个类,去测试这个上面的类
public class DogTest {
public static void main(String[] args) {
Dog a = new Dog();
a.age = 1;//如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样
a.name = "旺财";
a.bark();
System.out.println("hello我叫"+a.name+",我今年"+a.age);
}
}
![7c739ced2c242f11575a57f63265d4ae.png](https://i-blog.csdnimg.cn/blog_migrate/b306f553f1a4cd2ab82c5fac6345ec8e.jpeg)
其实这个理解就好,不难。
4.2 封装
封装这个概念是很强大的,无论还是网络宏观各个层面,很多东西都做了封装,对于每个实现,除了底层开发人员实际上不需要进行了解到那么深的,维护人员只需要拿来用即可。在开发过程中适当的封装可以让代码更容易理解和维护,也可以让代码得到保护。
另外注意: private与this有点类似于矛与盾的感觉,而且都是针对对象都是成员变量的作用。
4.2.1 private
1. private是一个权限修饰符,代表最小权限。
2. 可以修饰成员变量和成员方法。
3. 被private修饰后的成员变量和成员方法,只在本类中才能访问
1.使用 private 修饰成员变量
2. 提供 getXxx 方法 / setXxx 方法,可以访问成员变量
public class Student {
private String name;
private int age;
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
4.2.2 this的含义
public void setName(String n) {
name = n;//上述代码一旦n变成name,即便通过set方法也无法赋值给name,因为name找不到
}
public void setName(String name {
name = name;//name找不到
}
//解决方案
public void setName(String name {
this.name = name;//通过this可以解决方法里的局部变量无法访
//问到成员变量的问题,即上述矛与盾的关系得到实质性突破
}
4.2.3 构造方法
为了书写标准代码----JavaBean?