第七节:类和对象【一】【java】
创始人
2024-01-20 10:52:29

目录

🧾1. 面向对象的初步认知

1.1 什么是面向对象

1.2 面向对象与面向过程

📕2. 类定义和使用

2.1 简单认识类

2.2 类的定义格式

2.3 课堂练习

🎒3. 类的实例化

3.1 什么是实例化

3.2 类和对象的说明

3.3练习


🧾1. 面向对象的初步认知

1.1 什么是面向对象

📖Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好

1.2 面向对象与面向过程

1️⃣ 传统洗衣服过程

✨传统的方式:注重的是洗衣服的过程,少了一个环节可能都不行。

而且不同衣服洗的方式,时间长度,拧干方式都不同,处理起来就比较麻烦。如果将来要洗鞋子,那就是另 一种放方式。

按照该种方式来写代码,将来扩展或者维护起来会比较麻烦

2️⃣ 现代洗衣服过程

➡️以面向对象方式来进行处理,就不关注洗衣服的过程,具体洗衣机是怎么来洗衣服,如何来甩干的,用户不用去关心,只需要将衣服放进洗衣机,倒入洗衣粉,启动开关即可,通过对象之间的交互来完成的

注意:面向过程和面相对象并不是一门语言,而是解决问题的方法,没有那个好坏之分,都有其专门的应用场景。

🙈那么如何拿到一个对象?如何拿到一个人的对象?要拿到对象,必须先有类。什么是类?如何定义类?

📕2. 类定义和使用

2.1 简单认识类

👉类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机就可以识别了

比如:洗衣机,它是一个品牌,在Java中可以将其看成是一个类别。 属性:产品品牌,型号,产品重量,外观尺寸,颜色... 功能:洗衣,烘干、定时....

🙈在Java语言中,如何对上述的洗衣机类来进行定义呢?

2.2 类的定义格式

🌈java中定义类时需要用到class关键字,具体语法如下

// 创建类
class ClassName{
field; // 字段(属性) 或者 成员变量
method; // 行为 或者 成员方法
}

🔺class为定义类的关键字,ClassName为类的名字,{}中为类的主体。

➡️类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明具有哪些功能,称为类的成员方法。

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("定时功能");}
}

✨采用Java语言将洗衣机类在计算机中定义完成,经过javac编译之后形成.class文件,在JVM的基础上计算机就可以识别了。

❗❗❗注意事项

类名注意采用大驼峰定义 成员前写法统一为public,后面会详细解释 此处写的方法不带 static 关键字. 后面会详细解释 一般来说,一个java文件只写一个类

2.3 课堂练习

📖定义一个学生类

//定义一个学生类
public class Student{public String name;public String gender;public short age;public double score;public void DoClass(){}public void DoHomework(){}public void Exam(){}
}
❗注意事项: 1️⃣一般一个文件当中只定义一个类 2️⃣main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法) 3️⃣public修饰的必须要和文件名 4️⃣不要轻易去修改public修饰的类的名称,如果要修改,通过开发工具修改(给同学演示)。 5️⃣一个java文件只能有一个public类

🎒3. 类的实例化

3.1 什么是实例化

定义了一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自带的内置类型,而类是用户自定义了一个新的类型,比如上述的:PetDog类和Student类。它们都是类(一种新定义的类型)有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。

🔺用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。

public class Main{public static void main(String[] args) {PetDog dogh = new PetDog(); //通过new实例化对象dogh.name = "阿黄";dogh.color = "黑黄";dogh.barks();dogh.wag();PetDog dogs = new PetDog();dogs.name = "阿黄";dogs.color = "黑黄";dogs.barks();dogs.wag();}
}
输出结果:阿黄: 旺旺旺~~~阿黄: 摇尾巴~~~赛虎: 旺旺旺~~~赛虎: 摇尾巴~~~
❗注意事项: 1️⃣new 关键字用于创建一个对象的实例. 2️⃣使用 . 来访问对象中的属性和方法. 3️⃣同一个类可以创建多个实例

3.2 类和对象的说明

👉总结: 1️⃣类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员. 2️⃣类是一种自定义的类型,可以用来定义变量. 3️⃣一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量 4️⃣做个比方。类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东 西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空 间

3.3练习

class Person {public String name;//姓名public int age;//年龄public void eat() {System.out.println(name+" 正在吃饭");}public void show() {System.out.println("姓名:"+name+" 年龄:"+age);}
}public class Tesk {public static void main(String[] args) {Person person1 = new Person();System.out.println(person1.name);System.out.println(person1.age);}
}

 

 🔺此时 nameage 并没有赋值,但是此时并不会报错

因为它们属于 成员变量 ,所以这里编译器会给它们默认值

如果是引用变量,那么默认为 null ;int float 对应为0值        

boolean 默认值为   false  ;   char 默认值为 ‘\u0000'

👉我们可以赋值,也可以调用方法:

public class Tesk {public static void main(String[] args) {Person person1 = new Person();person1.name = "zhangsan";person1.age = 10;System.out.println(person1.name);System.out.println(person1.age);person1.show();}
}

 在这里当然我们也可以创建第二个变量:

public class Tesk {public static void main(String[] args) {Person person1 = new Person();person1.name = "zhangsan";person1.age = 10;System.out.println(person1.name);System.out.println(person1.age);person1.show();System.out.println("====================");Person person2 = new Person();person2.name = "lisi";person2.age = 19;System.out.println(person2.name);System.out.println(person2.age);person2.show();}
}

 ❗❗❗ 【注意事项 】

1️⃣当一个引用赋值为 null 的时候,代表:这个引用不指向任何对象!!

2️⃣引用能不能指向引用???   不能

    public static void main(String[] args) {Person person1 = new Person();Person person2 = new Person();person1 = person2;

此时代表 person1这个引用指向了person2这个引用指向的对象

3️⃣一个引用能不能同时指向多个对象??  不能

 public static void main(String[] args) {Person person1 = new Person();person1 = new Person();person1 = new Person();person1 = new Person();person1 = new Person();person1 = new Person();}

最后person1只是指向了一个对象,就是最后一个对象

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
阳澄湖在哪里哪个省的 阳澄湖是... 点击题目下方苏州生活指南有用 有趣 有态度近期的阳澄湖度很高,3月24日,央视二套《第一时间》直播连...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
金属硬度排行 各种金属硬度 世界上最硬的东西排名分别为硫化碳块,石墨烯,金刚石,金属玻璃和金属锇。这五种物体几乎是整个世界上最坚...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...