Java入门《六》——类和对象
3
2021-10-10
类和对象是Java中经常被提到的两个词汇,实际上可以将类看作对象的载体,它定义了对象所具有的功能。
若一个类的访问权限为不可见,这个类将隐藏其内的所有数据,以免用户直接访问它。当声明类时不使用public、protected或private修饰符设置类的权限,则这个类预设为包存取范围,即只有同一个包中的类可以调用这个类的成员变量或成员方法。
一、类
类是封装对象的属性和行为的载体,在Java语言中对象的属性以成员变量的形式存在,而对象的方法以成员方法的形式存在。1、类的构造方法
构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的,构造方法分为有参构造方法和无参构造方法,区别就在于有没有参数。public class Example { public Example() { // 定义无参构造方法 System.out.println("无参构造方法"); } public Example(String name) { // 定义有参构造方法 System.out.println("有参构造方法"); } }在定义构造方法时,构造方法没有返回值,且构造方法不需要void关键字进行修饰。“public”是构造方法的修饰符,“Example”是构造方法的名称。在构造方法中可以为成员变量赋值,这样当实例化一个本类的对象时,相应的成员变量也将被初始化。
2、类的主方法
public static void main(String[] args) { // ... }
3、成员变量
public class Student { private int id; // 定义一个int型成员变量,学号 private String name; // 定义一个String型成员变量, 姓名 public Student() { // 定义无参构造方法 } public Student(int id,String name) { // 定义有参构造方法 this.id=id; this.name=name; } public void setName(String name) { // 定义一个setName()方法,用于导入学生姓名 this.name = name; // 将参数值赋给成员变量 } public String getName() { // 定义一个getName()方法,用于获取学生姓名 return this.name; } public Student getStudent() { //返回Student类引用 return this; } }在Java语言中使用class关键字来定义类,Student是类的名称;在Student类中定义了三个成员变量,分别为学号和姓名,可设置初始值也可不设置初始值,若不设置初始值则会有默认值;private关键字用于定义一个私有成员,后面会介绍public、protected和private。接下来的两个构造方法上面已经提到过了,this关键字用于引用对象的成员变量和方法,在后面会有所介绍。一般在这样的类中每一个变量都会有set和get方法,set方法是带参数的方法没有返回值,get方法是有返回值的方法,用于获取。最后还有一个getStudent()方法,它的类型是Student类的,用于返回Student类的引用,用this关键字实现。
4、成员方法
成员方法对应类的行为,就是上述实例中讲的getName()方法,分别获取学生姓名和设置学生姓名的方法权限修饰符 返回值类型 方法名(参数类型 参数名){ // ... return 返回值; }局部变量是在方法执行时创建,在方法执行结束时被销毁,使用时必须赋值或初始化。所以局部变量的有效范围从该变量的声明开始到该变量的结束为止。若一个方法中含有与成员变量同名的局部变量,则方法中对这个变量的访问以局部变量进行访问。例如id,在上述方法中id=0,而不是Student类中的成员变量id的值。
6、静态变量、常量和方法
由static修饰的变量、常量和方法被称作静态变量、常量和方法。静态成员是属于类所有的,区别于个别对象,可以在本类或其他类中使用类名和“.”运算符调用,语法格式为: 类名.静态类成员public class StaticTest { final static double PI=3.1415926; // 在类中定义静态常量 static int id; // 在类中定义静态变量 public static void demo01() { System.out.println("test"); } public static void main(String[] args) { System.out.println(StaticTest.PI); // 调用静态常量 System.out.println(StaticTest.id); // 调用静态变量 StaticTest.demo01(); // 调用静态方法 } }
7、权限修饰符
Java中的权限修饰符主要包括private、public和protected,这些修饰符控制着对类和类的成员变量以及成员方法的访问。区别见下表:访问位置 | 类修饰符 | ||
private | protected | public | |
本类 | 可见 | 可见 | 可见 |
同包其他类或子类 | 不可见 | 可见 | 可见 |
其他包的类或子类 | 不可见 | 不可见 | 可见 |
- 0
-
分享