共计 1920 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | 本文主要介绍了类的设计、类成员的访问控制、类的封装。类的作用是用来描述一群具有相同的特征和行为的事物。 |
1. 对象是通过类创建出来的,类的作用是用来描述一群具有相同的特征和行为的事物。
2. 设计类三要素
类的名字:你要描述的这类事物叫什么名字;
这类事物具有的相同的特征:这类事物拥有什么;
这类事物具有的共同的行为:这类事物会做什么;
3. 定义类的语法
[修饰符] class 类名{
0 或多个构造方法 // 类创建对象的根本途径
0 或多个变量 // 类的属性
0 或多个方法 // 类的行为
}
4. 修饰符:对于类和类定义中的成员(如构造方法、变量、方法等),都可以在定义的时候在前面加上不同的修饰符。
5. 类的修饰符分成三种访问修饰符、类属性修饰符、抽象具体修饰符。
访问修饰符:public、protected、private、default。没有写的话系统默认是 default。
类属性修饰符:static。
抽象具体修饰符:abstract、final。
6. 如何设计一个学生类
class Student{
String name;// 学生的姓名
int age;// 学生的年龄
//myself()方法 --- 自我介绍
public void myself(){System.out.println("你好, 我叫"+name+","+"今年"+age+"岁!");
}
}
public class p14 {public static void main(String[] args) {
// TODO Auto-generated method stub
Student s=new Student();// 创建学生对象
s.name="张三";// 对象 name 属性赋值
s.age=18;// 对象 age 属性赋值
s.myself();// 调用对象的方法}
}
运行的结果是:
你好, 我叫张三, 今年 18 岁!
首先是设计一个学生类,在这个类中定义两个成员变量分别是学生的姓名 (name) 和年龄 (age), 定义一个方法 myself() 表示学生自我介绍。
1. 类成员的访问控制权限,分别是 public、private、protected、default.
public: 修饰的类或成员拥有公共作用域,表明这类或类的成员可以被任何 Java 中的类所访问。
private: 修饰的变量或方法拥有私有作用域,只可以在此类中访问,在其他类中,包括该类的子类中也是不可以访问的。
protected: 修饰的变量或方法拥有受保护作用域,可以被同一个包中所有的类及其他包中该类的子类所访问。
default: 没有使用任何修饰符的,拥有默认访问权限,表明此类或类的成员可以被同一个包中的其它类访问。
final: 表示最终的类或最终成员。修饰类表示此类不可以有子类,修饰变量时表示此变量是一个常量,修饰方法表示方法不能被覆盖。
abstract: 表示抽象类或抽象方法。修饰类表示该类不可以定义对象,修饰方法表示该方法要被覆盖。
static: 表示类成员或静态成员,代表该成员属于该类,并不属于该类的某一具体对象。
1. 什么是封装
封装是将类的某些信息隐藏在类内部,不让外部程序去访问,需要通过这个类提供的方法来实现对隐藏信息的操作和访问。
2. 如何实现类的封装:
class Person{
public String name;// 名字
private int age;//age 属性私有化
// 设置 age 值方法
public void setAge(int age){
if(age >=0 && age
运行的结果是:
年龄不合法....
你好!我是张三,今年 0 岁。
首先是定义个人类,将类的 age 属性私有化,私有属性只能在它所在的类中访问。如果想让外界访问私有属性,使用 public 修饰的公有方法,setAge()设置年龄喝 getAge()获取年龄的方法。创建 Person 属性后,然后调用 setAge()方法传入一个 130 的值,在 setAge()方法对 age 的值进行判断如果传入值大于 120,就会输出年龄不合法....
四、总结
本文主要介绍了类的设计、类成员的访问控制、类的封装。类的作用是用来描述一群具有相同的特征和行为的事物。
通过类的语法如何定义一个类的案例理解是怎么去定义的。类成员的访问控制介绍了 public、private、protected、default 这些的用法。
类封装就是类的某些信息隐藏在类内部,不让外部程序去访问,需要通过这个类提供的方法来实现对隐藏信息的操作和访问。如何实现类的封装案例来理解这个用法。希望大家通过本文的学习,对你有所帮助!
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)