如何定义类:
如何使用对象:
类和对象的概念 :
类的定义 :类是描述一类事物的设计图,用于描述共同特征,在 Java 中定义类使用 public class 关键字,如定义一个描述手机的类 public class phone 。
对象的定义 :对象是根据类这个设计图造出来的具体实例,是能帮助解决问题的实际存在,在代码世界中通过特定方式创建。
类的构成 :
成员变量 :表示属性,一般为名词形式,如手机的品牌、价格、颜色等,在类中定义变量时先定义不给值,如在 phone 类中定义表示品牌的 String brand 和表示价格的 double price 。
成员方法 :表示行为,一般为动词,如手机能打电话、发短信、玩游戏等,在类中以方法形式体现,与以前不同,这里的方法不加 static ,如在 phone 类中定义 call 方法和 play game 方法用于体现手机打电话和玩游戏的行为。
对象的创建与使用 :
创建对象 :创建对象要先定义类,然后使用格式 “类名 对象名 = new 类名 ();”,如在测试类中 phone p = new phone (); 创建手机对象 。
对象赋值与取值 :通过 “对象名。成员变量” 格式给成员变量赋值或获取其值,如 p.brand = "小米"; 获取值则是 System.out.println (p.brand); 。
调用方法 :通过 “对象名。方法名 ()” 调用成员方法,让对象执行相应行为,如 p.call (); p.play game (); 让手机对象打电话和玩游戏。
代码实现示例 :
定义类 :在 idea 中新建类 phone,在其中定义成员变量 brand 和 price,以及成员方法 call 和 play game 。
创建对象及操作 :在测试类中创建对象 p,给对象赋值,获取对象值并打印,调用对象方法,如 p.brand = "小米"; p.price = 1999.98; System.out.println (p.brand); p.call (); 若要创建第二部手机,重复代码创建对象 p2 并进行赋值和调用方法操作,如 phone p2 = new phone (); p2.brand = "苹果"; p2.call ();
知识点小结 :
类与对象的概念 :类是共同特征的描述即设计图,对象是真正存在的具体实例能做事情。
获取对象流程 :先写类,类中包含表示属性的成员变量和表示行为的成员方法,然后用 “类名 对象名 = new 类名 ();” 创建对象,创建后可获取成员变量值、给成员变量赋值以及调用成员方法让对象做事 。
2,封装
概念
封装把对象的属性和方法结合成一个独立的整体,就像把它们封装在一个 “黑匣子” 中。对象内部的状态由对象自己管理,外部只能通过特定的接口(方法)与对象进行交互,而不能直接访问和修改对象的内部数据。
优点
实现方式
在 Java 中,封装通常通过以下步骤实现:
set-get方法:
针对每一个私有化的成员变量,都要提供get 和set 方法
private 关键字的作用
private 关键字把类的成员的访问权限限定在类的内部,也就是只有类自身的代码能够访问被 private 修饰的成员,类的外部代码不能直接访问这些成员。在你给出的代码里,Person 类的 name 和 age 属性就被声明成
打个比方,把 Person 类想象成一个神秘的盒子,name 和 age 就是盒子里的宝贝,这两个宝贝被加上了锁(用 private 关键字修饰),外面的人不能直接去碰它们。
那外面的人要是想看看宝贝或者修改宝贝怎么办呢?这时候就有两个神奇的钥匙,分别是 get 方法和 set 方法。
为啥要有 get 方法
get 方法就像是一个小窗口,外面的人可以通过这个窗口看到盒子里宝贝的样子。比如 getName() 方法,别人调用这个方法,就能看到盒子里存的姓名是什么;getAge() 方法能让别人知道盒子里存的年龄是多少。这样做的好处是,外面的人只能看,不能随便乱动里面的宝贝,保证了宝贝的安全。
为啥要有 set 方法
set 方法就像是一个特殊的通道,外面的人可以通过这个通道往盒子里放新的宝贝,但是得遵守一定的规则。就拿 setAge() 方法来说,它规定了放进盒子里的年龄必须在 0 到 120 岁之间。如果有人想放一个 150 岁的年龄进去,这个方法就会告诉那个人 “年龄输入不合法”,不允许把这个不合适的年龄放进盒子里。这样就能保证盒子里的宝贝都是符合要求的。
好处总结
安全:用 private 把宝贝锁起来,再用 get 和 set 方法控制访问,就像给宝贝上了双重保险,防止别人不小心或者故意把宝贝弄坏。
好管理:如果盒子里面宝贝的摆放方式或者宝贝的类型变了,只要小窗口和特殊通道的位置和使用方法不变,外面的人还是能正常看到和修改宝贝,不用重新学习怎么和盒子打交道。