首页 > 编程笔记 > Java笔记 阅读:17

Java类的定义(非常详细)

类是将数据和方法封装在一起的一种结构,数据表示为类的属性,方法表示为类的行为。

Java 中使用 class 关键字来定义类,语法格式如下:
[类修饰符]class 类名 {
    [修饰符] 数据类型 属性名;
    …
    [修饰符] 返回值类型 方法名([参数列表]) {
        …                                   // 方法体
        return 返回值;
    }
}
其中,“[]”中的修饰符是可选项,类修饰符可以分为 4 种:public、protected、private、default,各修饰符的含义如下表所示:

表:类修饰符的说明
修饰符 说明
public 将一个类声明为公共类,它可以被任何对象访问
default(默认) 在同一个包中可以访问,default 不用写
abstract 表示该类为一个抽象类,不能实例化该类
final 表示该类不能被子类继承,该类即为最终类

注意:类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写,如 TestPage;如果类名称中包含单词缩写,则这个缩写词的每个字母均应大写,如 XMLDemo;还有一点命名技巧,就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。

类的成员变量

在 Java 程序中,一般将类的属性名表示为成员变量,成员变量描述了类的内部信息。成员变量可以是基本数据类型,也可以是数组、对象等引用数据类型。

定义成员变量的语法格式如下:
[修饰符]数据类型  成员变量名 = [初值];
其中,“[]”中的修饰符是可选项,成员变量修饰符有 public、protected、private、default、static、final,各修饰符的含义如下表所示。

表:成员变量修饰符的说明
修饰符 说明
public 指定该变量可以被任何对象的方法访问
protected 指定该变量可以被该类及其子类或同一包中的其他类访问,在子类中可以重写此变量
private 指定该只允许该类的方法访问,其他任何类(包括子类)中的方法都不能访问
default(默认) 指定该变量可以被同一包中所有类访问,其他包中的类不能访问该变量,default不用写
static 指定该变量可以被所有对象共享
final 指定该变量不能被修改

类的成员方法

在编程中,一般将类的行为表示为成员方法,成员方法用来表示类的操作,实现类与外部的交互。

定义成员方法的语法格式如下:
[修饰符]返回值数据类型  成员方法名([参数列表]) {
    …                                         // 方法体
    return 返回值;
}

其中,“[]”中的修饰符是可选项,成员方法修饰符有 public、protected、private、default、static、final,各修饰符的含义如下表所示。

表:成员方法修饰符的说明
修饰符 说明
public 指定该方法可以被任何对象的方法访问
protected 指定该方法可以被该类及其子类或同一包中的其他类访问,在子类中可以重写此方法
private 指定只允许该类的方法访问,其他任何类(包括子类)中的方法都不能访问
default(默认) 指定该方法可以被同一包中所有类访问,其他包中的类不能访问,default不用写
static 指定该方法可以被所有对象共享
final 指定该方法不能被修改

注意:形参出现在方法定义中,在整个方法体内都可以使用,离开该方法则不能使用。实参出现在主方法中,进入被调方法后,实参变量也不能使用。

参数列表中的参数用逗号分开,列表中包含了传递给调用方法的变量的声明。如果方法中没有参数,参数列表可以省略,小括号内不用填写任何内容。

若方法没有返回值,则返回值的数据类型应为 void,且 return 语句可以省略。

接下来,我们根据上面的语法格式定义一个 Dog 类。
class Dog {
    String name;          // 声明名字属性
    int age;             // 声明年龄属性
    double weight;       // 声明体重属性
    protected String colour;  // 声明颜色属性

    protected String bark() {  // 定义吠叫的方法
        String a = "汪汪叫";
        return a;
    }

    public void show() {      // 定义显示信息的方法
        System.out.println("名字是" + name + ", 年龄: " + age);
    }
}
程序中定义了一个类,Dog 是类名,其中 name、age、weight、colour 是该类的成员变量,也称为对象属性,bark()、show() 是该类的成员方法,在 show() 方法体中可以直接对 name、age 成员变量进行访问。

相关文章