JAVA中的类与对象

类与对象的概念

  • 什么是类?具有相同属性以及行为的一组对象叫做类。用来描述对象具体有哪些属性和功能。

类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。

举个例子:在我们的生活中,男孩女孩都是一个类,而男孩和女孩中的每一个个体就是其中的对象。所以对象就是类中的一个个成员。

类与对象的定义与使用

类的定义:需要使用class关键字来定义,需要声明类的名字。格式为:

class Student{
    //这样就定义好了一个学生类
}
  1. 那么在一个类中,我们通常有对这个类的描述,就是成员对象和方法。
    class Student{
        public String name;
        public int age;
        public void eat(){
            System.out.println("吃饭");
        }
    }

    在上述代码中,在Student这个类中,我们就定义出来了name和age两个成员对象和一个eat的成员方法。

  2. 类的实例化,类就相当于是一张图纸,按照这张图纸,我们可以构建出许多的实例对象,在java中,通常使用new关键字

    Student stu=new Student;        //这样就实例化了一个对象stu
    stu.name=小明;                  //使用名称.类中的对象可以访问
    stu.age=19;
    stu.eat();

    在这里就可以新建一个Student类的实例,同时可以描述出其中对象的属性。

this关键字:

先来看一个例子:

class Date{
    public int year;
    public int month;
    public int day;
    public void Today(int y,int m,int d){
        year=year;
        month=month;
        day=day;
    }
    public void Print(){
        System.out.println(year+"/"+month+"/"+day);
    }
}

可以看到,给year赋值时,等号左边也是year,那么这样的写法其实并不是错的,但是对year赋的值确实是错的,那么我们该如何改正呢?这时用上了this关键字,改为this.year=year就不会报错,且赋的值也是正确的。否则就是默认的值

对于this关键字,要记住的点就是this指向的就是自己本身的性质,this()就是指向自身的构造方法,那么构造方法是什么呢?

构造方法:

顾名思义,构造方法就是在一个类实例化一个对象时调用的方法,就是new时,会自动调用的方法,在我们的代码中没有特意定义时,这个构造方法通常是一个无参数的,可以看做是一个特殊的成员方法,但是要注意的是,构造方法的名字需要与类名相同且没有返回类型,代码在运行时只会构造一次,就类似已经构造出来了,就没必要编译第二次。同时构造方法也可以构成重载,但是如果没有构造,编译器会自动生成一个无参数的构造方法。

在构造方法中可以调用其他对象,也可以使用this关键字,但是必须放在第一行。

限定访问符:

限定访问符有:private、public、default、protected。

他们对应的访问权限是不一样的,根据他们的中文意思,我们不难发现private表示私密,只有同一个类中的对象可见。public就是公开的意思,其他不同类中的对象也可以访问,protected是在包里面可以访问。

封装------包package

可以看作是一个文件夹,里面存放的是各种类,就可以工程型的建造一个项目,将项目分解到每一个包中实现协作。通过import关键词可以导入包中的不同类,java语言库中就包含了很多自带的包,开发时通过导入这些包可以大大的加快开发的效率。

除了可以导入java语言自带的包,我们也可以自己创建一个包,存放自己开发的项目。

static成员

上文中使用new关键字创建新的实例对象,假设创建了三个对象,然后这三个对象是这同一类里面的,三个学生是在同一个教室里面上课,那么教室的属性是共享的,例如教室号,那么我们就可以使用static关键字,表示的是在同一个类中所有对象都具有的属性,不属于任何一个对象,但是可以通过类名和对象名访问,但是建议使用类名访问。这是static修饰成员对象的情况。

static成员方法:被static修饰的成员方法叫做静态成员方法,是类的方法,不是某个对象所特有的,也是可以通过类名访问,但是要注意的是不可以在静态方法中访问非静态成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值