类与对象(一)

目标:

1.掌握类的定义方式以及对象的实例化

2.掌握类中的成员变量和成员方法的使用

3.掌握对象整个初始化过程


一、类的定义格式

比如创建一个学生类,代码演示如下:

//创建学生类
    class Student{
     //包含字段(属性)或者成员变量、行为、方法
        public String name;
        public String gender;
        public int age;

        //行为
        public void GoToClass(){
            System.out.println("按时上课!");
        }
        public void DoHomeWork(){
            System.out.println("完成作业!");
        }
        public void Test(){
            System.out.println("逢考必过!");
        }
}

上面定义了一个简单的类,其中class为定义类的关键字Dog为类的类名{}中为类的主体,其中就包含了学生的部分属性和学生的一些行为。

注意事项:

1.类名要用大驼峰表示

2.一个文件一个类

3类名与文件名相同

4.main所在的类一般要用public修饰

二、类的实例化


什么是类的实例化?简单来说就是用类类型创建对象的过程,称为类的实例化。

在java中,采用new关键词来配合类名来实例化对象。

 public static void main3(String[] args) {
       //实例化对象
        Student student = new Student();
        //初始化
        student.name = "周瑜";
        student.gender = "男";
        student.age = 20;
        System.out.println(student.name+" "+student.gender+" "+student.age);
        student.GoToClass();
        student.DoHomeWork();
        student.Test();

    }

由此可见,new关键字实例化了一个对象student,并成功对类中的成员进行初始化赋值,值得注意的是,在main方法中用  "."  来访问类中的属性与方法。

一个类不仅仅可以创建一个实例,也可以创建多个实例,比如一个狗类可以创建多个对象。

public static void main2(String[] args) {
        //实例化对象
        Dog dog = new Dog();
        dog.name = "小黄";
        dog.age = 3;
        dog.sort = "中华田园犬";
        dog.color = "黄色";
        System.out.println(dog.name+" "+dog.age+" "+dog.sort+" "+dog.color);
        dog.bark();
        dog.wag();
        //同一个类可以创建多个实例化对象
        Dog dog2 = new Dog();
        dog2.name = "小黑";
        dog2.age = 4;
        dog2.sort = "中华田园犬";
        dog2.color = "黑色";
        System.out.println(dog2.name+" "+dog2.age+" "+dog2.sort+" "+dog2.color);

    }

三、This引用

什么是this引用?

this引用是指向当前对象,在成员方法中所有成员变量的操作,都是通过该引用去访问的

class Day{
    public int day;
    public int month;
    public int year;

    public Day(int month, int day, int year) {
        //this必须是构造语句中的第一条语句
        this.month = month;
        this.day = day;
        this.year = year;
    }
public class test{
    public static void main(String[] args) {
        Day day = new Day(4,12,2024);
        day.Print();
    }

那什么是当前对象呢,怎么判断当前对象呢?

我们可以认为哪个对象的引用调用了该方法,this就代表那个对象,换一句话来说,谁调用了,谁就是this,虽然this可以省略,我们建议习惯加上this


this引用的注意事项:

1、this只能在成员方法中使用

2、this引用当前对象,不能引用其他对象

this的三种用法:

1、访问当前对象的成员方法

2、访问当前对象非静态的成员方法

3、访问当前对象的其他构造方法


四、对象的构造及初始化

1、构造方法(有参与无参)

概念:特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,在整个生命周期中只调用一次

在初始化成员变量时,可以创建一个构造方法来为成员初始化

//构建日期类
class Day{
    public int day;
    public int month;
    public int year;

    public Day(int month, int day, int year) {
        //this必须是构造语句中的第一条语句
        this.month = month;
        this.day = day;
        this.year = year;
    }

    //有参  构造方法名与类名相同
    //没有返回值 设置void也不行
   /* public Day(int day,int month,int year){
        this.day = day;
        this.month = month;
        this.year = year;
    }*/
   //有参和无参构成方法重载
    //无参
    public Day(){
        this.year = 2024;
        this.month = 5;
        this.day = 11;
    }
    public void Print(){
        System.out.println(year+" "+month+" "+day);
    }

}
//构造方法

public class test{
    public static void main(String[] args) {
       // Day day = new Day(4,12,2024);有参
        Day day = new Day();
        day.Print();
    }
 2、idea开发环境中的快捷构造方法

当我们面对要求定义一个成员变量比较多的类时,去手动一个构造方法,这相对来说会比较麻烦,降低我们的开发效率,因此,对于idea的开发环境中,是有快捷方法来为我们直接形成构造方法的

右击鼠标右键,根据指示,到到第三步,按住Ctrl,点击想要初始化的变量,编译器就会自动生成相应的构造方法

构造方法的特性

1、名字必须与类名相同

2、没有返回值类型,设置void也不行

3、创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次

4、构造方法可以重载


作者声明:

此文章是本人在Java学习中知识的总结以及作为复习材料,感谢各位观看与支持!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值