Java 类和对象

1、类的定义格式

class ClassName{

        成员变量;

        成员方法;

}

例子:

class Animal{
    public String name;
    public int age;
    public void eat(){
        System.out.println("吃饭");
    }
    public void play(){
        System.out.println("玩耍");
    }
}

注意:类名需采用大驼峰定义

2、类的实例化

例子:

public class Test {

    public static void main(String[] args) {
        Student stu = new Student(); // 通过new实例化对象
        stu.name = "李四";
        stu.age = 19;
        stu.eat();
        stu.play();
    }
}

class Student{
    public String name;
    public int age;
    public void eat(){
        System.out.println(name + "在吃饭");
    }
    public void play(){
        System.out.println(name + "在玩耍");
    }
}

输出结果:

李四在吃饭
李四在玩耍

3、this引用

在Java类中,this关键字主要用于引用当前对象的实例变量或方法。当需要在方法内部引用对象的某个属性(字段)或另一个方法,并且该属性或方法名与参数名或局部变量名相同时,就可以使用this来区分它们。

例子:

class Student{
    public String name;
    public int age;
    public void setName(String name) {
        this.name = name; //使用this
    }
    public void eat(){
        System.out.println(name + "在吃饭");
    }
    public void play(){
        System.out.println(name + "在玩耍");
    }
}
public static void main(String[] args) {
        Student stu = new Student(); // 通过new实例化对象
        stu.setName("李四");
//        stu.name = "李四";
        stu.age = 19; 
}

4、构造方法

构造方法是一个特殊的成员方法,名字必须与类名相同,用于初始化新创建的对象。当使用new关键字创建类的实例时,构造方法会被自动调用,以设置对象的初始状态。

例子:

class Student{
    public String name;
    public int age;
    public Student(String name, int age){
        this.name = name;
        this.age = age;
    }
}
public static void main(String[] args) {
    Student stu = new Student("李四", 20);
}

注意:

  1. 构造方法在整个对象的生命周期中只调用一次;
  2. 没有返回值;
  3. 构造方法可以重载;

例子:

class Student{
    public String name;
    public int age;
    // 无参构造
    public Student(){
    }
    // 有参构造
    public Student(String name, int age){
        this.name = name;
        this.age = age;
    }
    public void eat(){
        System.out.println(name + "在吃饭");
    }
    public void play(){
        System.out.println(name + "在玩耍");
    }
}
public static void main(String[] args) {
    Student stu1 = new Student();
    stu1.name = "李四";
    stu1.age = 19;
    stu1.eat();
    stu1.play();

    Student stu2 = new Student("赵六", 20);
    stu2.eat();
    stu2.play();
}

       4. 如果没有自己定义,编译器会默认生成无参的构造方法;

       5. 可以用this调用其他构造方法;

例子:

class Student{
    public String name;
    public int age;
   // 无参构造
    public Student(){
       this("李四",21); // 必须是构造方法中第一行代码
    }
}
  • 24
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值