A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如同数学中使用数字,类的定义是Java开发中最基本的动作。一切的代码均是以类作为组织单位的。
这里,在学习完类的定义后,我们需要定义两个类:测试类与交通工具类。
a)        定义格式
在前边我们学习过的水果类是定义类的一部分,一个完整的类其成员变量一般需要使用private修饰,不光需要成员变量还需要成员方法。

定义格式:
        创建.java文件,文件名与类名相同。
        public class 类名{
                private 数据类型  变量名1;
                private数据类型  变量名2;
                …其他成员变量

                public 返回值类型 方法名(参数类型 参数名,参数类型 参数名2…) {
                方法体;
}
…其他成员方法

对应属性的get/set方法
}

如:
public class Person{
        private String  name;        

        public void eat() {
                System.out.println(“吃饭的需求逻辑”);
}       

        public void setName (String name){
                this. name = name;
}
public String getName () {
        return name;
}
}
b)        成员变量
与局部变量不同,局部变量定义在一个代码块内,通常是一个方法代码块内。成员变量定义在类中方法外,可以被该类中所有方法使用。
成员变量通常使用private修饰,阻止本类以外的其他类访问。
如:
public class 类{
        private String  a;
        方法1() {
                int  b = 20;
}
方法2(){}
对应属性的get/set方法
}
该例中a变量可以被所有方法(方法1与方法2)使用,b变量只能供方法1使用。
c)        this区分局部变量与成员变量
成员变量不能重名,局部变量不能重名,但是成员与局部变量可以重名,但是需要使用this区分。
使用this访问的为成员变量,直接访问的为局部。没有局部变量会自动查找是否有成员变量。
public class MyClass {
        private String s = “我爱Java”;
        public vonumber method() {
                String s = “我喜欢Java”;
                System.out.println(this.s);                //打印结果为我爱Java
                System.out.println(s);                        //打印结果为我喜欢Java
}
}
d)        成员方法
定义在类中的方法又叫成员方法。常规方法定义格式:
访问权限修饰符  其他修饰符(通常没有)  返回值类型  方法名称(参数类型 参数名1,参数类型 参数名2…)  {
        方法体;
}
                如:求两数和
                public int method(int a,int b) {
                        return a+b;
}

功能性方法以外,针对每个属性都应该有固定格式的赋值和获取值的方法。
获取值方法:
        public 数据类型 get字段() {
                return 字段名;
}
赋值方法:
        public void set字段(数据类型 字段名){
                this.字段名 = 字段名;
}
如:见上文Person类的get/set方法
1.2.2.        类的使用
类的使用非常简单,分为两个动作:创建对象与调用方法。
类的定义是现实事物的抽象,真正的实体是对象。通常使用对象来调用方法。
a)        对象创建格式
数据类型  对象名= new 数据类型();
b)        对象方法的调用
无返回值:
对象名.方法名(参数);
有返回值:
        返回值类型  变量名 = 对象名.方法名(参数);

评分

参与人数 1黑马币 +2 收起 理由
kingxiao + 2

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马