前言
已经开始类与对象的讲解了,正式步入了Java的道路了,在讲解前,我们都知道Java是面向对象的编程语言,那么什么是对象呢?还有类是什么呢?
一、类与对象的介绍
类的关键字是class,在Java编程里,类的作用相当于机械师手中的构造图,如果没有构造图,就无法打造武器,同样如果没有类,就无法实例化。
对象就是打造人,通过对象将类实例化。
个人结论:工匠 使用锤子根据说明书打造出武器, 对象 编译器 类 实例化。
- 类可以有很多对象,而对象却只有一个类。
- 类有成员变量和成员方法。
- 类不占空间,只有实例化时,才开辟相应空间。
二、类的实例化
类相当于构造图,然而构造图上肯定写了需要的零件和打造的方法,所以类就有着成员变量和成员方法。
然后对象才知道如何打造(开辟空间)。
类和对象的定义和实例化的格式:
// 创建类 类名
class <class_name>{
field;//成员属性
method;//成员方法
}
// 实例化对象
<class_name> <对象名> = new <class_name>();
class为定义类的关键字,ClassName为类的名字,{}中为类的主体。 类中的元素称为:成员属性。类中的函数称为:成员方法
格式已经出来了,现在我们敲一个代码出来看看:
class Person {
int age;//成员属性 实例变量
String name;
String sex;
//成员方法
public void eat() {
System.out.println("吃饭!");
}
public void sleep() {
System.out.println("睡觉!");
}
}
public class Main{
public static void main(String[] args) {
Person person = new Person(); //通过new实例化对象
//产生对象 实例化对象
Person person2 = new Person();
Person person3 = new Person();
}
这就是创建类和对象的具体方法了。
三.类与对象的使用方法
3.1对象的初始化
对象的初始化有两种方式。
第一种:使用圆点成员运算符( .) 可以直接对指定对象实例化的成员变量进行赋值。
对象.属性:表示调用类之中的成员变量;对象.方法():表示调用类之中的成员方法。
第二种:使用构造函数,使用函数可以对成员变量进行初始化。
类名(参数){ 结构体 };
代码示例图:
class Person {
int age;//成员属性 实例变量
String name;
String sex;
//构造函数
Person(){
}
Person(String names){
name=names;
}
//成员方法
public void eat() {
System.out.println("吃饭!");
}
public void sleep() {
System.out.println("睡觉!");
}
}
public class Main{
public static void main(String[] args) {
Person person = new Person(); //通过new实例化对象
//初始化person成员变量name,调用成员方法eat()
person.name="李四"; //操作属性内容
person.eat(): //调用成员方法
//构造方法初始化
Person person2 = new Person("张三");
Person person3 = new Person();
}
3.2内存显示图
类的构造图,但一旦实例化,就开辟出了内存,存放着对应的变量和方法。
代码内存显示图:
在main函数里创建了三个对象,person、person1、person2。每个对象都进行了实例化,在堆空间创建了内存。如上图,相当于每一个对象都有属于它的空间。
四.this的使用方法
this是什么?this是关键字,代表着当前对象的引用。当参数名和成员变量相同时,使用this来引用,则代表的是成员变量。
结论:从图中我们可以分析到 this不但可以引用成员变量,也可以使用构造函数。所以this便是当前对象。
注:只允许在当前类使用,构造方法中使用,需要放在第一行。
总结
- 类相当于蓝图,由对象根据类来将其实例化。
- public修饰的类必须与文件名相同
- this相当于对象名,作用和对象名一样,可以引用成员变量、构造函数、成员函数。但引用构造函数需要放在第一行。
- 类不占空间,但是对象实例化之后需要开辟空间。
在类与对象之后,还会有封装、继承、抽象、多态和接口相关的知识,在类与对象的基础上不断的延长。
到此这篇关于详解Java中类与对象的关系的文章就介绍到这了,更多相关Java类与对象内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!