Java(十五)类和对象的创建

170 阅读4分钟

类和对象这个玩意真是老生常谈了,PHP是可对象可过程的,但是在java中,万物皆对象。

我们来复习一下类的定义:

类是实物的属性(外在特征)和行为(具备的功能)的集合

对象是类的具体表现(如果拿人“类”作为例子的话,那对象就是类中具体的你,我,她)

 

一:创建一个类

1:格式

Class 类名

{

       类的属性;

       类的行为;

}

2:步骤

(1):明确你创建的类的功能

(2):该类实物中有哪些属性(实物的外在特征)

(3):该类实物中有哪些行为(实物所具备的功能)

 

3:举个例子

我们来定义一个人的类

class person
{
    // 年龄
    public String age;
    // 体重
    public String weight;
    /**
     * 跑方法
     */
    public void run()
    {
        System.out.println("跑");
    }
    /**
     * 思考方法
     */
    public void think()
    {
        System.out.println("思考");
    }
}

 

二:调用类

public class T05 {
    public static void main(String[] args) {
        // 定义一个人的对象
        person xh = new person();
        // 给他的属性赋值
        xh.age = 25;
        xh.weight = 180;
        System.out.println("xh年龄:"+xh.age+" 体重:"+xh.weight);
        // 调用类的方法
        xh.think();
    }
}

以上大概就是类的调用方法,比较简单,现将类实例化一个对象,再直接.就可以了。

 

三:成员变量和局部变量

1:成员变量

定义再看类中,方法外的变量就是成员变量。

class person
{
    // 年龄
    public int age;
    // 体重
    public int weight;
}

上边的所有变量均是成员变量。

 

2:局部变量

定义在方法中,或者方法声明上的变量就是局部变量

    public static void main(String[] args) {
        // two 是局部变量
        int two = sumNunber(5,2);
        System.out.println(two);
        int three = sumNunber(5,2,6);
        System.out.println(three);
    }
 
    /**
     * 加和(三个参数)
     * @param i 局部变量
     * @param j局部变量
     * @return
     */
    public static int sumNunber(int i,int j,int x)
    {
        return i + j + x;
    }

上边代码中的变量都是局部变量

 

3:成员变量和局部变量的区别?

1.定义位置不同

局部变量:定义在方法中或者方法的声明上

成员变量:定义在类中方法外

2.内存位置不同

局部变量:存储在栈中的方法中

成员变量:存储在堆中的对象中

3.初始值不同

局部变量:没有默认初始值,想要使用一定要先赋值在使用

成员变量:有默认初始化值,如果不赋值也可以使用

String类型的变量默认初始值nul1

int类型的变量默认初始值0

boolean类型的变量默认初始值false

double类型的变量默认初始值0.0

char类型的变量默认初始值‘\u0000'

4.生命周期不同

局部变量:因为是存储在方法中,所以是随着方法的存在而存在,随着方法的消失而消失

成员变量:因为是存储在对象中,所以是随着对象的存在而存在,随着对象的消失而消失

5.作用域范围不同

局部变量:出了方法就用不了了

成员变量:在本类中的方法中都可以使用

四:匿名对象

1:定义:没有名字的对象就是匿名对象

 

2:使用格式:

New 类名();

 

3:匿名对象如何使用属性和方法呢?

New 类名().属性名

New 类名().方法名()

 

4:匿名对象的特点

一次性(只能使用一次,因此匿名对象一般都是调用对象的方法)

 

5:匿名对象是可以作为实际参数传递的

 

五:构造方法

1:定义:方法名和类名相同,和普通方法的格式不一样的特殊方法。

2:构造方法作用:

(1):用来创建对象

(2):用来对象的属性初始化

举个小例子:

public class T05 {
    public static void main(String[] args) {
        // 定义一个人的对象
        person xh = new person(10,100);
        // 给他的属性赋值
        xh.age = 25;
        xh.weight = 180;
        System.out.println("xh年龄:"+xh.age+" 体重:"+xh.weight);
        // 调用类的方法
        xh.think();
    }
}
 
class person
{
    // 年龄
    public int age;
    // 体重
    public int weight;
    /**
     * 构造方法
     */
    public person(int a,int w)
    {
        age = a;
        weight = w;
    }
    /**
     * 跑方法
     */
    public void run()
    {
        System.out.println("跑");
    }
    /**
     * 思考方法
     */
    public void think()
    {
        System.out.println("思考");
    }
 
}

通过上方的代码我们可以看到,person类的构造方法中有两个参数,那我们实例化对象的时候就需要给其传递两个参数,否则就会报错。

3:构造方法的特点

(1):构造方法没有返回值类型

(2):构造方法由返回值

(3):构造方法有return关键字

(4):构造方法的名字一定要和类名相同

 

以上大概就是类和对象的创建。

 

有好的建议,请在下方输入你的评论。