类的定义,对象的创建和使用

类的定义格式

[修饰符] class 类名 [extends 父类名] [implement 接口名]{
    //类体,包括类的成员变量和成员方法
}
  • 声明(定义)成员变量
[修饰符] 数据类型 变量名 [=];
//例如
private String name;//声明一个String类型的变量name
private int age = 20;//定义一个int类型的age,并赋值为20
  • 声明(定义)成员方法
[修饰符] [返回值类型] 方法名 (参数类型 参数名1,...){
    //方法体
    .
    .
    .
    return 返回值;//当方法的返回值类型为void时,return及其返回值都可以省略
}

例子:

public class Person(
    int age;//声明int类型的变量
    //定义speak()方法
    void speak(){
        System.out.println("我今年"+age+"岁了");
    }
)

定义了一个Person类,并在类中定义了类的成员变量和成员方法,其中Person是类名,age是成员变量,speak()是成员方法。在成员方法中可以直接访问成员变量age。

注意:

定义在类中的变量称为成员变量定义在方法中的变量成为局部变量。如果在某一个方法中定义的局部变量和成员变量同名,这种情况是可以的,此时通过变量名访问的是局部变量,而不是成员变量,如下:

public class Person(
    int age = 10;//类中定义的变量称作为成员变量
    //定义speak()方法
    void speak(){
        int age = 30;//方法内部定义的变量称作是局部变量
        System.out.println("我今年"+age+"岁了");
    }
)

当有一个程序来调用speak()方法时,输出的值是30,不是10

对象的创建和使用

类名 对象名称 = new 类名();
//例如
Person p = new Person();

"new Person()"用于创建Person类的一个实例对象,"Person p"则是声明一个Person类型的变量p。

小提示:

​ Java内存分为两种,及栈内存和堆内存。栈内存用于存放基本类型的变量和对象的引用变量(如Person p),堆内存用于存放由new创建的对象和数组。

多看一下代码:

  • one
package com.kuang;

public class Application {
    public static void main(String[] args) {
        //类:抽象的,实例化
        //类实例化后会返回一个自己的对象
        //student对象就是一个Student类的具体实例
        Student student = new Student();

        Student xm= new Student();
        Student xh = new Student();


        xm.name = "小明";
        xm.age = 3;
        System.out.println(xm.name);
        System.out.println(xm.age);

        xh.name = "小红";
        xh.age = 3;
        System.out.println(xh.name);
        System.out.println(xh.age);

        xh.study();

    }
}

package com.kuang;
//学生类
public class Student {

    //属性:字段
    String name;//null
    int age;//0

    //方法
    public void study(){
        System.out.println(this.name+"正在学习");
    }

}

  • two
package com.kuang;
//引用传递:对象,本质还是值传递
public class Demo04 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name);//null

        Demo04.change(person);
//        person.name = "秦疆";
        System.out.println(person.name);//秦疆

    }
    public static void change(Person person){
        //person是一个对象:指的是---> Person person = new Person();这是一个具体的人,可以改变属性
        person.name = "秦疆";
    }
}
//定义一个Person类,有一个属性:name
class Person{
        String name;


}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等慢慢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值