面向对象
面向对象是非常非常重要的,他是进入java语言的第一道门槛,也是最为基础的思想
概念层面
类
类,可以理解为类型,打个比方,猫是猫类,不管是白猫还是黑猫它都是猫。这是一种抽象的归类。
对象
对象,即为具体的实际例子。一说起猫,大家的脑海中都会浮现出猫的基本样子,这就是“类”,而我家那只每天除了吃还是吃的断尾肥橘猫就是猫类的实际且具体的例子,即“对象”。
类与对象的关系
类与对象的关系:“类”是类型,是抽象的,“对象”是这个类型的实际且具体的事物。
以上就是类和对象的通俗理解,接下来就是类中的细节讲解
类中的字段和方法
类中有两大内容,一个是字段,一个是方法。
字段
接上面的例子来说,“类”中的“字段”相当于是“猫类”的“样貌特征”。
方法
“类”中的“方法”相当于是“猫类”的“行为描述”。
概念图:
上面这张图片描述的是“类”,是属于这个类型的共有特征和行为。下面这张图片描述的是“对象”,是这个类型的具体实例
小总结
以上属于概念,或者说是比喻说明,用于入门理解是很好理解的,虽然不是特别的准确。因为从各个角度看待都是不同的,从机器码角度看待那这些都是一串的01010101…,所以不必纠结,能帮助你理解这样的一个关系就好了
代码层面
/**
* 猫类
*/
public class Cat {
// 脸部
private String face;
// 四肢
private String limb;
// 尾巴
private String tail;
// 夜行性
private String nocturnal;
// 体型
private String size;
public String getFace() {
return face;
}
public void setFace(String face) {
this.face = face;
}
public String getLimb() {
return limb;
}
public void setLimb(String limb) {
this.limb = limb;
}
public String getTail() {
return tail;
}
public void setTail(String tail) {
this.tail = tail;
}
public String getNocturnal() {
return nocturnal;
}
public void setNocturnal(String nocturnal) {
this.nocturnal = nocturnal;
}
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
// 叫声
public String shout(){
return "喵喵叫";
}
// 洗脸
public String washFace(){
return "用爪子洗脸";
}
public String info(String name) {
return "我家有一只断尾橘猫,它的名字叫咪咪。"+name+"是一只"+face+"、"+tail+"、"+nocturnal+"的"+limb+size+"。每天都"+
shout()+",时不时就"+washFace();
}
public static void main(String[] args) {
// 实例化Cat类,创建“猫”对象
Cat cat = new Cat();
// 给对象中的字段赋值
cat.setFace("圆头圆脸");
cat.setLimb("小短腿");
cat.setNocturnal("晚上精力旺盛");
cat.setSize("大肥猫");
cat.setTail("天生断尾");
// 打印猫信息
System.out.println(cat.info("咪咪"));
}
}
运行结果