09:类与对象
2021/7/31 6:06:24
本文主要是介绍09:类与对象,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
对象与类
一、类
类是一种抽象的数据类型,它是对某一事物整体描述/定义,但是不能具体代表某一个具体的事物。对象是抽象概念的具体实例。
类的构造方法
构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的,构造方法分为有参构造方法和无参构造方法,区别就在于有没有参数。具体如下:
public class Demo01 { public Demo01() { // 定义无参构造方法 System.out.println("无参构造方法"); } public Demo01(String name) { // 定义有参构造方法 System.out.println("有参构造方法"); } }
注意事项:
-
构造方法是一种特殊的方法。
-
每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。
-
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
-
没有返回类型,甚至连void也没有。
-
构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。
-
不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。
this关键字
this可以访问类中的成员变量,用来区分成员变量和局部变量(重名问题)。语法如下:
this.成员变量名称;
例:
public class Demo02 { public String name; //定义成员变量name; public Demo02() {} public Demo02(String name) { this.name = name; //第一个name指的是成员变量;第二个name指的是参数名称 } }
this可以访问本类中的成员方法。语法如下:
this.方法名;
例:
public class Demo03 { //定义一个方法a public void a(){ System.out.println("hello"); } //定义一个方法b public void b(){ this.a(); //通过this调用方法a } public static void main(String[] args) { Demo03 c = new Demo03(); //创建对象 c.b(); //调用方法b } }
this可以访问本类的构造方法。语法如下:
this();
注意:
- ()中可以有参数的 如果有参数 就是调用指定的有参构造
- this() 不能使用在普通方法中 只能写在构造方法中
- 必须是构造方法中的第一条语句
例:
public class Demo04 { public String name; public int age; public Demo04() { // 定义无参构造方法 System.out.println("你好"); } public Demo04(String name) { // 定义有参构造方法 this(); //调用本来的无参构造方法 this.name = name; } public Demo04(String name, int age) { this(name); //调用本来的有参构造方法 this.age = age; } public static void main(String[] args){ //调用构造器,得到该类的实例对象 Demo04 s = new Demo04("Tom",20); System.out.println(s.name + s.age); } }
二、对象
对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:
- 声明:声明一个对象,包括对象名称和对象类型。
- 实例化:使用关键字 new 来创建一个对象。
- 初始化:使用 new 创建对象时,会调用构造方法初始化对象。
具体语法如下:
Test test = new Test(); Test test = new Test("abc");
实例如下:
public class Demo02 { public String name; public Demo02() {} // 定义无参构造方法 public Demo02(String name) { // 定义有参构造方法 this.name = name; } public static void main(String[] args){ //调用构造器,得到该类的实例对象 Demo02 s = new Demo02("good"); System.out.println(s.name); } }
当用户使用new操作符创建一个对象后,可以使用“对象.类成员”来获取对象的属性和行为。语法如下:
对象.方法名(); //调用方法对象.变量名; //调用变量
代码如下:
public class Demo05 { public int i = 1314; //成员变量,即属性 public String j; public Demo05() {} // 定义无参构造方法 public void say(){ //方法 System.out.print("祝你"); } public static void main(String[] args){ //调用构造器,得到该类的实例对象 Demo05 s = new Demo05(); //创建对象 //调用方法 s.say(); //调用变量 System.out.println(s.i); } }
原理
程序调用构造器时,系统会先为该对象分配内存空间,并为这个对象执行默认初始化,这个对象就产生了。只是此时还不能被外部程序访问。当构造器的执行体执行结束后,这个对象作为构造器的返回值被返回,通常还会赋值给另一个引用类型的变量,从而让外部程序可以访问该对象。
这篇关于09:类与对象的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求