🌠个人主页 : @赶路人- -
🌌个人格言 :要努力成为梧桐,让喜鹊在这里栖息。
要努力成为大海,让百川在这里聚积。
🤓类与对象
初步认知
面向对象思想概述
- 面向对象是思考问题的一种思考方式 , 是一种思想.(如同: 概念与实例. 理论与实践 .等等)
- 类是一类对象的统称 . 对象就是这一类具体化的一个实例 .
- 面向对象的好处 : 将复杂的事情简单化 , 只要面对一个对象就行了 .
简单来说c语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。
面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。(当需要实现一个功能的时候 , 每一个具体的步骤都要亲力亲为 , 详细处理每一个细节)
面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来(当需要实现一个功能的时候 , 不用关心具体的步骤 , 而是找一个已经具备该功能的人 , 来帮我做事 .)
public class test{
public static void main(String[] args) {
int[] array = {10,20,30,40,50};
//要求打印格式为, [10,20,30,40,50]
//使用面向过程,每一步细节都要亲力亲为
System.out.print("[");
for (int i = 0; i < array.length; i++) {
if(i==array.length-1){//如果是最后一个元素
System.out.print(array[i] + "]");
}else{//不是最后一个元素
System.out.print(array[i] + ", ");
}
}
System.out.println();
System.out.println("==================");
//使用面向对象,找一个已经具备该功能的人,来帮我做事
//找一个JDK给我们提供好的Arrays类 ,
//其中有一个toString方法, 直接就能把数组变成想要的格式的字符串
System.out.println(Arrays.toString(array));
}
}
输出结果
[10, 20, 30, 40, 50]
==============
[10, 20, 30, 40, 50]
- 特点
- 面向对象思想是一种更符合我们思考习惯的思想 , 它可以将复杂的事情简单化 , 并将我们从执行者变成了指挥者
- 面向对象的语言中 ,
包含三大基本特征 , 即封装 . 继承 和多态.
类与对象
环顾周围 , 你会发现很多对象 , 比如桌子 , 椅子 , 同学 , 老师等 . 桌椅属于办公用品 , 师生是人类 . 那么什么是类呢 ? 什么是对象呢 ?
- 类: 是一组相关属性和行为的集合 . 可以看成是一类事物的模板 , 使用事物的属性特征和行为特征来描述该类.
- 属性: 就是该事物的状态信息 .
- 行为: 就是该事物能够做什么 .
- 属性: 名字 , 体重 , 年龄 , 颜色.
- 行为: 走,跑,叫
- 对象: 是一类事物的具体体现 . 对象是类的一个实例 (这里的对象不是男/女 朋友哈 !) , 必然具备该类事物的属性和行为 .
实例化
基本语法
// 创建类
class <class_name>{
field;//成员属性
method;//成员方法
}
//实例化对象
<class_name><对象名> = new <class_name>();
class为定义类的关键字,ClassName为类的名字,{}中为类的主体。 类中的元素称为:成员属性。类中的函数称为:成员方法。
示例
class person{
public int age; //成员属性 实例变量
public String name;
public String sex;
public void eat() { //成员方法
System.out.println("吃饭!");
}
public void sleep() {
System.out.println("睡觉!");
}
}
public class Main{
public static void main(String[] args){
person person = new Person();//通过new实例化对象
person.eat();//成员方法调用需要通过对象的引用调用
person.sleep();
//产生对象 实例化对象
Person person2 = new Person();
Person person3 = new Pwrson();
}
}
输出结果为:
吃饭!
睡觉!
成员变量和成员方法
成员变量是定义在类内部、方法外部的变量。也称为字段或属性。在Java中,成员变量可以使用访问修饰符进行修饰以控制其访问权限。常见的访问修饰符有public、private、protected和默认访问权限。下面是一个示例:
public class Person {
private int age; // 私有成员变量,只能在本类中访问
public String name; // 公有成员变量,任何地方都可以访问
}
成员方法是定义在类中的函数,用于描述对象的行为。同样地,成员方法也可以使用访问修饰符进行修饰。以下是一个简单的示例:
public class Person {
// 成员变量
private int age;
public String name;
// 成员方法,用于获取年龄
public int getAge() {
return age;
}
// 成员方法,用于设置年龄
public void setAge(int age) {
this.age = age;
}
}
在上面的示例中,getAge和setAge就是Person类的两个成员方法,分别用于获取和设置age成员变量的值。
🤓封装
封装是面向对象编程的重要特性之一,它通过将数据(成员变量)和行为(成员方法)捆绑在一起,并对外部隐藏对象的工作原理,从而确保了数据的安全性和完整性。在Java中,我们通常会将成员变量定义为private,并提供公有的getter和setter方法来访问和修改这些成员变量。
public:表示公有的,在任何地方都可以访问。
private:表示私有的,只有在本类中可以访问。
protected:表示受保护的,只有同一个包内的类或子类可以访问。
default:即默认的,在同一个包内可以访问。
🤓构造方法
构造方法是一种特殊类型的方法,用于创建对象并初始化对象的状态。构造方法的名称必须与类名完全相同,并且没有返回类型。在Java中,如果我们不提供任何构造方法,编译器将会自动提供一个无参的构造方法。如果我们手动提供了构造方法,编译器将不会再提供默认的构造方法。下面是一个简单的构造方法示例:
public class Person {
private int age; // 私有属性,只能在本类中访问
public String name; // 公有属性,任何地方都可以访问
// 构造方法
public Person(int age, String name) {
this.age = age;
this.name = name;
}
// 公有方法,用于获取年龄
public int getAge() {
return age;
}
// 公有方法,用于设置年龄
public void setAge(int age) {
this.age = age;
}
}
在上面的示例中,我们定义了两个构造方法,一个是无参构造方法用于创建对象并初始化状态,另一个是有参构造方法用于提供初始化参数。