java类与对象

 一.面向对象的初步认知

  在讲解Java类与对象之前我们首先要知道Java是一门纯面向对象的编程语言(Object Oriented Program,简称OOP)面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。

二.类

1.类的定义
class Dog/*类名*/{
    //成员变量
    public String name;
    public int age;
    //成员方法
    public void eat(){
        System.out.println(name+"正在吃饭!");
    }
}

class是定义类的关键字,{}里是类的主体,这里面我定义了一个Dog类,类里的成员变量成员方法分别是狗的属性与行为,类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类 具有哪些功能,称为类的成员方法。

2.类的实例化

这里我们要清楚什么是类的实例化,我们定义了一个类,就相当于在计算机中定义了一种新的类型,与intdouble类似,只不过intdoublejava语言自带的内置类型,而类是用户自定义了一个新的类型,比如上述的:PetDog类和Student类。它们都是类(一种新定义的类型)有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)

public static void main(String[] args) {
        //在java中采用new关键字,配合类名来实例化对象。
        Dog dog = new Dog();
        //类名.方法 => 用来调用成员方法
        dog.eat();
    }
用类类型创建对象的过程,称为类的实例化。
3.类与对象的关系

类就像模具一样,有了他可以创建很多对象这个过程也就是类的实例化,实例化出的对象占用实际的物理空间,存储类成员变量

//就像这样,有了上面创建的类就可以创建许多这个类的对象
Dog dog1 = new Dog();
Dog dog2 = new Dog();
Dog dog3 = new Dog();
Dog dog4 = new Dog();

三.对象

1.对象的初始化

对对象进行初始化是一个必要的过程,进行了初始化才能满足你不同的需求。

//类名.成员变量 => 对成员变量进行引用
        dog1.name = "小黄";
        dog1.age = 4;

这里对对象进行初始化有很多的方法,像这种方法比较麻烦。

2.构造方法
构造方法 ( 也称为构造器 ) 是一个特殊的成员方法, 名字必须与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期内只调用一次

 

这里面我们定义了一个有参数的构造方法后,之前的实例化就出现了错误,这是因为在你定义了有参的构造方法后Java将不再提供给你无参的构造方法了。

 这就是用构造方法进行实例化的方法。

下面是有关构造方法的一些注意事项:

1. 名字必须与类名相同
2. 没有返回值类型,设置为 void 也不行
3. 创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次 ( 相当于人的出生,每个人只能出生一次 )
4. 构造方法可以重载 ( 用户根据自己的需求提供不同参数的构造方法 )
5. 如果用户没有显式定义,编译器会生成一份默认的构造方法,生成的默认构造方法一定是无参的。
注意: 一旦用户定义,编译器则不再生成
6. 构造方法中,可以通过 this 调用其他构造方法来简化代码

7. 绝大多数情况下使用public来修饰,特殊场景下会被private修饰

3.默认初始化

很多同学可能会有疑问,为什么成员变量不初始化也不会出错,而局部变量不初始化就会出错,这里我要给大家纠正一下,其实成员变量一直都有初始化,在我们实例化对象后就会调用构造方法,构造方法帮助我们初始化了成员变量,默认的构造方法将成员变量赋予了默认值,所以即使你没有去主动初始化成员变量,编译器也已经帮你初始化了。

 这是一些类型的默认值,还有String 的默认值是null,byte的默认值是0

四.结尾

直至今日,Java仍是一门值得被学习的编程语言,将来的路还很长,脚踏实地的学习,相信我们都会越来越好。今天的讲解到此就接近尾声了,如果我的讲解在某些地方有漏洞,希望大佬们及时告诉我,我好能及时修改,另外喜欢的话就点个关注呗,求求啦 (*^▽^*)。

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值