JAVA 程序员笔记 第 007 篇—面向对象 (一)、重载、构造方法
面向对象是 JAVA 学习中的重点,JAVA 本身是一门面向对象编程语言,要体会"万事万物皆对象"的含义。
首先,先理解 面向过程 与 面向对象 的区别:
转载自 知乎:愣头青
=================================================================
面向对象三大特征:继承封装多态
四大(多一个:接口)
封装:将自然界中具有相似特征和行为的 事物 定义成类
并尽可能 类中的特征 进行私有化 过程
package 包(见前几篇笔记)
class 类的定义
类是抽象的,是自然界中 描述具有 相同特征 和 行为的事物的统称
例如,
人类:姓名,年龄,性别,身高 等等等等
public class(){
String name;
int age;
string sex;
double hight;
}
方法的重载
在一个类中,具有多个相同的方法名,这种现象称为 方法的重载
必须同时 满足这些条件:
1.方法名 必须相同
2.参数列表不同:(个数不同 or 类型不同)
其中方法名相同,参数类型不同 可具体应用到后面学习的 多态
Circle circle = new Circle();
构造方法名 对象名 = new 构造方法名(参数列表)
特点:
方法名 和 类名 完全一致
方法名 不能设置 返回值类型(void 都不能写)
构造方法 通过new关键字来调用
如果类中,没有提供构造方法,那么JVM(虚拟机)会自动提供一个 无参(没有参数)构造方法
**如果类中定义的有构造方法,那么JVM不再提供额外的无参构造方法**
作用:
1.创建对象
2.有参构造方法 还可以给 属性 赋值
this 关键字:
当局部变量(定义在方法中的变量) 和 成员变量(类中的变量)的名字冲突时,优先使用 局部变量的名字,~成员变量的名字 会被 覆盖~
此时,通过 this 关键字 进行访问,来表示成员变量(属性)
.
this 在 java 的类中,代表 该类的 对象(调用该属性 或 方法的对象)
this 通过 . 可以调用属性,也可以调用 成员方法
this 还可以调用 构造方法 (在构造方法中,调用构造方法)
this() 调用无参构造方法
this 在调用构造方法时,必须出现在构造方法中,作为第一个语句
public class Circle {
double r;//成员变量(属性)
public void setR(double r) {//局部变量
this.r = r;//成员变量(属性) = 局部变量
}
方法重载,构造方法,this 关键字的综合使用举例:
public class Chang {
int hight;
int weight;
Chang() {
System.out.println("我是空参构造方法");
}
Chang(int hight){
this();
this.hight = hight;
System.out.println("aaa");
}
Chang(int hight,int weight){
this(hight);
this.weight = weight;
System.out.println("bbb");
}
}
评论