目录
本篇文章为JavaSE中的重点内容 希望大家好好看看
一. 面向对象的初步认知
1.1 什么是面向对象
1.2 面向对象与面向过程
举例说明面向对象与面向过程的区别:
面向过程:
传统洗衣服过程
面向对象:
现代洗衣服过程:
二. 类定义和使用
2.1 简单认识类
例如:
2.2 类的定义格式
在java中定义类时需要用到class关键字
// 创建类
class ClassName{
field; // 字段(属性) 或者 成员变量
method; // 行为 或者 成员方法
}
例如刚才的洗衣机我们可以给它描述:
class WashMachine{
public String brand; // 品牌
public String type; // 型号
public double weight; // 重量
public double length; // 长
public double width; // 宽
public double height; // 高
public String color; // 颜色
public void washClothes(){ // 洗衣服
System.out.println("洗衣功能");
}
public void dryClothes(){ // 脱水
System.out.println("脱水功能");
}
public void setTime(){ // 定时
System.out.println("定时功能");
}
}
再定义一个狗类:
class Dog {
public String name;
public String color;
public int age;
public void eat() {
System.out.println(name + "吃东西");
}
public void wag() {
System.out.println(name + "摇尾巴");
}
}
三. 类的实例化
3.1 什么是实例化
3.2 实例化对象
拿上处狗的例子来举例:
习题:
1.引用可以指向-引用吗?
2.一个引用 能不能同时指向 多个对象吗?
3.dog1指向了null对象?
实现俩个数字的交换(重点)
class myValue1 {
public int val;
}
class myValue2 {
public int val;
}
public class Test {
public static void swap(myValue1 val1,myValue2 val2) {
int tmp = val1.val;
val1.val = val2.val;;
val2.val = tmp;
}
public static void main(String[] args) {
myValue1 val1 = new myValue1();
val1.val = 10;
myValue2 val2 = new myValue2();
val2.val = 20;
System.out.println("交换前");
System.out.println(val1.val);
System.out.println(val2.val);
swap(val1,val2);
System.out.println("交换后");
System.out.println(val1.val);
System.out.println(val2.val);
}
}
四. this引用(重点)
4.1 为什么要有this引用
引用一个例子就明白了:
public class Date {
public int year;
public int month;
public int day;
public void setDate(int y,int m,int d) {
year = y;
month = m;
day = d;
}
public void printDate() {
System.out.println( year + "年" + month + "月" + day + "日 ");
}
public static void main(String[] args) {
Date date = new Date();
date.setDate(2023,11,11);
date.printDate();
}
}
原来:
现在:形参名不小心与成员变量名相同
再来看看打印结果
接下来就可以使用this 这个方法
4.2 this的使用
即使写了很多个,系统都可以自动识别出 :
4.3 this引用的特性
五.对象的构造及初始化
5.1 默认初始化
为什么局部变量在使用时必须要初始化,而成员变量可以不用呢?
所以它们都有默认值
5.2 就地初始化
在声明成员变量时,就直接给出了初始值。
5.3 构造方法(重点)
假如只写了一个构造方法:
这里由一个编写构造方法的快捷方法,就不用一个一个输入:
或者直接用快捷键alt+insert 想创建几个就可以创建几个
总结:
明天更新 【Java SE】封装
如有不足之处欢迎补充交流
看到这里的友友们,支持一下博主,来个免费三连,感谢! ! !