一.面向对象的初步认知
在讲解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.类的实例化
这里我们要清楚什么是类的实例化,我们定义了一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自带的内置类型,而类是用户自定义了一个新的类型,比如上述的: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.构造方法
![](https://img-blog.csdnimg.cn/74f1d6c364bf4da78ca85456069bc86f.png)
这里面我们定义了一个有参数的构造方法后,之前的实例化就出现了错误,这是因为在你定义了有参的构造方法后Java将不再提供给你无参的构造方法了。
这就是用构造方法进行实例化的方法。
下面是有关构造方法的一些注意事项:
7. 绝大多数情况下使用public来修饰,特殊场景下会被private修饰
3.默认初始化
很多同学可能会有疑问,为什么成员变量不初始化也不会出错,而局部变量不初始化就会出错,这里我要给大家纠正一下,其实成员变量一直都有初始化,在我们实例化对象后就会调用构造方法,构造方法帮助我们初始化了成员变量,默认的构造方法将成员变量赋予了默认值,所以即使你没有去主动初始化成员变量,编译器也已经帮你初始化了。
这是一些类型的默认值,还有String 的默认值是null,byte的默认值是0
四.结尾
直至今日,Java仍是一门值得被学习的编程语言,将来的路还很长,脚踏实地的学习,相信我们都会越来越好。今天的讲解到此就接近尾声了,如果我的讲解在某些地方有漏洞,希望大佬们及时告诉我,我好能及时修改,另外喜欢的话就点个关注呗,求求啦 (*^▽^*)。