声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
This构造器转发:
两种用法:当前对象
this()构造器转发
1.这种格式只能写在构造器中
2.只能写在构造器的第一行代码
构造器转发:
每个构造器代表一个选择,可以选择一个参数或者多个,选择一个的话其他的参数都是默认,选择全部参数那就按照客户需求来传递想要的参数。
构造器接受参数,调用Student方法,传递参数。
目的:减少构造器的代码重复。
例题:根据数据类型不一样,所转发的构造器也不一样。
执行过程:先执行main方法,new Test 空参数构造器,空参数构造器调用了int 类型的Test构造器,int参数构造器又调用了String类型的构造器。
所以先打印2,然后返回到int类型的构造器打印3,最后在返回到空参数构造器打印1. 打印结果:2 3 1
实例块:
初始化代码,在new对象的时候执行,要比构造求早执行。
可以写很多个,执行时按照顺序执行的,在前面的先执行,后面的后执行。 实例块可以在方法上写,方法上写的就不能叫做实例块,就是分区。
创建对象,实例化过程:
1.创建对象开始初始化成员
2.先初始化属性成员,但是没有赋值
3.开始执行实例块,有序执行,从上至下的执行,碰到属性就开始赋值。
4.执行的构造器
5.对象构建完毕
实例块申请格式:实例块比构造器早执行。
注意:
图1:跟属性一起初始化,属性不可以写在打印的后面。-
图2:属性放在前面就不会报错,赋值就可以附进去。
实例块可以在方法上写,方法上写的就不能叫做实例块,就是分区。 两个int在不同的区域,所以相同的名字时可以的。
静态块:
是类的初始化方法,在类加载的时候执行
也可以写很多个,执行时按顺序
类到底什么时候会被加载?
运行一个类时,不会将所有的类加载起来。(系统用到哪个类,就加载哪个)
用类声明变量是不会促使这个类加载起来。
只要使用了类中的静态成员就会促使类加载。
你如果访问它的静态常量时不会促使类加载的,因为静态常量和类时不在一个内存中的,它在常量内存中存储。
类只能被加载一次,不会加载两次。
静态块申请方式:跟实例块一样,属性不可以写在后面。
面向对象初级阶段:如何把现实生活的事物转换成对象?
面向对象高级阶段:如何使用面向将程序便的更加灵活。
相关推荐
面向对象编程的基础 要了解面向对象编程(OOP)的基本概念,需要理解 OOP 的三个主要概念,它们撑起 了整个 OOP 的框架。这三个概念是:封装、继承性和多态性。除此以外,还需了解对象、 类、消息、接口、及抽象等...
总结,`this`和`static`是Java面向对象编程中的重要元素,`this`用于表示当前对象引用,方便访问实例变量和调用构造器;而`static`则用于定义类级别的成员,这些成员独立于对象存在,可以被所有实例共享。理解和熟练...
3. 构造器链:在构造器中,"this"可以用来调用同一类中的其他构造器。 ```java class MyClass { int x; MyClass(int x) { this.x = x; } MyClass() { this(0); // 使用this调用带参构造器,初始化为0 } } ...
《Java程序员面试宝典——2012版》是一份针对Java程序员面试的全面指南,旨在帮助准备面试的程序员深入理解和掌握Java的核心概念和技术。以下是对该文档标题、描述及部分内容涉及的重要知识点的详细解析: ### Java...
如果一个类未显式定义构造器,Java会自动提供一个无参构造器。 - **默认构造器**:一个不含任何参数的构造器,默认存在。 - **带参数的构造器**:允许在创建对象的同时指定属性的初始值。 #### 封装 **封装**是...
这份“javaoop文档+阅读器”资料包,旨在帮助你理解和掌握面向对象的思想,通过深入浅出的方式解析Java OOP的关键概念。 首先,让我们了解一下面向对象的基本概念。面向对象编程是一种基于“对象”的编程方式,它将...
它可以在任何方法、构造器或初始化块之外声明,并且可以拥有自己的访问修饰符。成员内部类可以访问外部类的所有成员,包括私有成员。 2. 局部内部类:这种类型的内部类只在某个方法或代码块内部定义,它的作用域仅...
5. **构造器与this关键字**:构造器是用于初始化新创建对象的特殊方法,Java中的this关键字用于引用当前对象。 6. **访问控制与权限修饰符**:Java提供了private、protected、public以及默认(包级私有)四种访问...
### Java基础知识练习题详解 #### 1. 无法读取xxx.java 文件 - **问题解析**:如果遇到“无法读取 xxx.java”这样的错误提示,通常意味着文件路径不正确、文件不存在或者没有权限访问该文件。 - **解决方法**: - ...
理解构造器的用途,以及如何使用this关键字和super关键字在对象间传递信息也是学习的重点。 接口在Java中扮演着重要角色,它是实现多继承的一种方式。接口定义了一组抽象方法,类可以实现接口并提供这些方法的具体...
3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...
### 传智播客_Java培训_毕向东_Java基础[03-面向对象] #### 3.1 面向对象概念 ##### 3.1.1 理解面向对象 面向对象编程(Object-Oriented Programming,简称 OOP)是一种程序设计思想,它是相对于面向过程编程而言...
9. **this和super关键字**:`this`关键字引用当前对象的引用,而`super`关键字用于访问父类的成员,包括变量、方法和构造器。 10. **异常处理**:Java的异常处理机制允许程序员优雅地处理运行时错误。使用try-catch...
3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...
- 构造器的概念,构造器的重载与重写。 - **4.13.1 构造器的使用** - 构造器的基本使用方法。 - **4.13.2 构造器的重载** - 在同一类中定义多个构造器的方法。 - **4.13.3 构造器的重写** - 子类重写父类构造器...
### Java 语言程序设计基础 #### 一、Java 运行环境的安装及程序的编译与运行 Java 的运行环境主要包括 Java Development Kit (JDK) 和 Java Runtime Environment (JRE)。对于开发者而言,安装 JDK 是必须的,因为...
在方法和构造器中,this可以用来区分局部变量和成员变量,或者调用当前类的其他构造器。 七、静态成员与内部类 静态成员属于类本身,而不是类的实例,这意味着它们在类加载时就已存在。内部类是嵌套在另一个类中的...
### Java课程的一般基础知识 #### 前言与JAVA特点 Java作为一种广泛使用的编程语言,其设计初衷是为了简化编程,并确保程序的可移植性、健壮性和安全性。Java的特点包括但不限于以下几点: 1. **简单**:Java借鉴...