当前位置: 首页 > news >正文

【JAVA杂货铺】一文带你走进面向对象编程的构造方法 | Java| 面向对象编程 | (中)

🌈个人主页: Aileen_0v0
🔥系列专栏:Java学习系列专栏
💫个人格言:"没有罗马,那就自己创造罗马~"


 


目录

回顾

 构造方法

 this关键字

面试题

构造方法的类型 

下节预告

代码块 


🍒回顾

之前我们学习了什么是类  什么是对象  什么是面向对象编程

定义类

 


🍒 构造方法

构造方法:它的方法名和类名相同,且无返回值

package lecture1;class Person{private String name;private int age;//构造方法 - 总是和类名相同,且无返回值//当没有构造方法的时候,编译器会自动提供一个,不带参数的构造方法//构造方法作用:实例化一个对象public Person() {System.out.println("Person<init>");}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}//@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +",age="  + age +"}";}
}public class TestDemo {public static void main(String[] args) {Person person = new Person();}
}
package lecture1;class Person{private String name;private int age;//构造方法 - 总是和类名相同,且无返回值//当没有构造方法的时候,编译器会自动提供一个,不带参数的构造方法//构造方法作用:实例化一个对象//构造方法1:public Person() {System.out.println("Person<init>");}//构造方法2:public Person(String name, int age) {this.name = name;this.age = age;System.out.println("Person<String,int>");}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}//@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +",age="  + age +"}";}
}
public class TestDemo {public static void main(String[] args) {Person person1 = new Person();System.out.println(person1);Person person2= new Person("bit" ,19);System.out.println(person2);}}

运行结果: 


 🍒this关键字

🍎面试题

this关键字代表对象,这句话是否正确?为什么?

不正确,因为this表示的是对象的引用

this:

this() : 调用自己的构造方法 ---> 只能在构造方法里面写

this.data:调用当前对象的属性

this.fun():调用当前对象的方法


🍒构造方法的类型 

 

中间调用构造方法3报错信息告诉我们:在一个构造方法里面只能调用一次其他构造方法,否则会报错. 

构造方法1:无参数

构造方法2:两个参数

构造方法3:一个参数


🍋下节预告

🍊代码块 

📝总结 

本节主要讲Java面向对象编程的构造方法的应用以及this关键字的使用.喜欢的小伙伴多多三连吧,Java学习系列专栏,订阅专栏,可以获得更新提醒❤️这里是Aileen.

http://www.lryc.cn/news/258029.html

相关文章:

  • 动态规划学习——通符串匹配,正则表达式
  • 【数据开发】Hive 多表join中的条件过滤与指定分区
  • 基于Java SSM框架实现高校人事管理系统项目【项目源码】计算机毕业设计
  • [C++] 模板进阶(非类型模板参数,特化,分离编译)
  • C++ this指针
  • 解决Sortable拖动el-table表头时,由于选择列造成的拖拽顺序错乱的bug
  • Plantuml之类图语法介绍(十六)
  • 深入Docker命令行:探索常用命令和实用技巧
  • qt 容器QVector,QMap,QHash的常见使用与该迭代器的简单介绍
  • 两线制无源 4-20mA 回路供电隔离变送器
  • 强化学习优质博客记录(随缘更新)
  • RabbitMQ-hello
  • 案例044:基于微信小程序的消防隐患在线举报系统
  • MES系统需要具备哪些性能方面的需求?
  • 数据在内存中的存储(整型篇)
  • 大一作业习题
  • Python大模型TensorFlow/PyTorch/Scikit-learn/Keras/OpenCV/Gensim
  • TCP 和 UDP 区别? 2、TCP/IP 协议涉及哪几层架构? 3、描述下 TCP 连接 4 次挥手的过程?为什么要 4 次挥手?
  • pyside/qt03——人机协同的编程教学—直接面向chatGPT实战开发(做中学,事上练)
  • swing快速入门(五)
  • 银河麒麟v10系统SSH远程管理及切换root用户的操作方法
  • 设计模式——建造者模式(Java示例)
  • 深入探索 Spring Boot:简化开发,加速部署的全方位利器
  • SpectralGPT: Spectral Foundation Model 论文翻译3
  • ubuntu-c++-可执行模块-动态链接库-链接库搜索-基础知识
  • HTML中使用JavaScript实现一个简单的鼠标悬停特效。
  • 深入.NET平台和C#编程总结大全
  • jOOQ的使用场景
  • Pytorch-Transformer轴承故障一维信号分类(三)
  • pycharm多线程报错的问题(未解决)