`
l4432848
  • 浏览: 255362 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

-Java基础-构造器

    博客分类:
  • java
 
阅读更多

1.构造器

构造器就是类创建对象的初始化方法。它的名字与类名相同。 假设没有写有构造器的情况下,虚拟机会自动加上一个没有参数的构造器,如果【学Java,到凯哥学堂kaige123.com】写有构造器,那么虚拟机就不会在加上构造器了。

public class Test1 {
	public Test1() {
		System.out.println("我是构造器!");
	}
}

2.构造器重载

构造器就是一个方法,所以它和普通的方法一样也可以做方法重载,换句话说就是构造器的重载。 和方法重载一样构造器重载就是多个一样名字参数类型和参数的个数不同的多个构造器。

public class Test1 {
	public Test1() {
		System.out.println("先脱去衣服");
	}
	public Test1(String name) {
	}
public Test1(int name) {
	}
}

2.实例块 实例块就是一个划分的代码区域。{ 代码 } 1.它是在构造器之前执行。 2.它和属性初始化一同执行。 3.一个类中可以有很多个实例块。

  1. 执行过程是按照顺序从上到下执行。
public class Test3 {
	{
		System.out.println("我是实例块!");
	}
}

3.this this用3种用法: 1.表示当前的对象。 假设在一个方法中传入的参数名为a1,在实例中也有一个变量叫做a1.如果方法中的参数a1想赋值给类中的a1。则就需要到this关键字。因为java如果遇到同名的变量就会默认用和你最近的参数。

public class Test4 {
	String name;
	// 重名了 使用的规则是 就近原则
	public Test4(String name) {
		this.name = name;
	}
}

2.当前对象返回
	public Test4 getTest4() {
		return this;
	}

3.构造器转发

注意:静态属性和静态方法参数重名怎么办? 这时就不能用this了。因为this是当前对象。 既然是静态成员那就直接类名点属性名就可以了。 例如:

static String address;
	static void method(String address) {
		Test4.address = address;
	}

4.静态块 static{} 是类加载的时候和静态属性一起执行的。也是按顺序从上往下执行。

5.类的加载 1.在声明静态属性但并没有使用属性时,不会对类进行加载。 使用静态属性时才会对类进行加载。 2.声明或使用常量时都不会对类进行加载。 因为常量的内存【学Java,到凯哥学堂kaige123.com】和类成员的内存不在同一内存内。 3.使用静态方法或new肯定会加载类。 4.//加载类 class.forName( 包名.类名 )

怪题:

image

main方法中,new Test1();,然而Test1类中又new Test1,因为new对象的时候肯定会加载类,然而加载类其实就是加载静态属性,所以这就成了死循环。报出方法嵌套调用溢出的错误。 java.lang.StackOverflowError

0
0
分享到:
评论

相关推荐

    计算机后端-Java-Java核心基础-第13章 面向对象05 14. super调用构造器.avi

    计算机后端-Java-Java核心基础-第13章 面向对象05 14. super调用构造器.avi

    计算机后端-Java-Java核心基础-第30章 动态代理与Java8新特性 18. 构造器引用与数组引用的使用.avi

    计算机后端-Java-Java核心基础-第30章 动态代理与Java8新特性 18. 构造器引用与数组引用

    计算机后端-Java-Java核心基础-第11章 面向对象03面向对象03 12. 构造器练习:三角形.avi

    计算机后端-Java-Java核心基础-第11章 面向对象03面向对象03 12. 构造器练习:三角形.avi

    计算机后端-Java-Java核心基础-第11章 面向对象03面向对象03 11. 构造器练习:基本使用.avi

    计算机后端-Java-Java核心基础-第11章 面向对象03面向对象03 11. 构造器练习:基本使

    java私塾面试题----JAVA基础1.rar

    - 类与对象的概念,类的构造器。 - 继承(Inheritance)的实现,super关键字的使用。 - 多态(Polymorphism)的理解,抽象类(Abstract Class)与接口(Interface)的区别。 - 封装(Encapsulation)的体现,...

    思维导图-Java基础

    - **构造器**:用于初始化新创建的对象。 - **访问修饰符**:public、private、protected和默认访问级别。 - **this关键字**:表示当前对象的引用。 - **static关键字**:用于声明静态成员,静态变量和静态方法...

    动力节点-Java基础视频教程

    - 构造器与析构器 - 抽象类与接口 - 包管理与导入 5. **异常处理机制** - 异常的基本概念 - 异常的分类:编译时异常、运行时异常 - try-catch-finally语句块 - 自定义异常 - 异常链与异常日志记录 6. **...

    java 构造器的调用

    在Java编程语言中,构造器...了解和掌握构造器的调用、初始化、默认构造器、继承中的构造器调用以及构造器重载等概念,是编写高质量Java代码的基础。通过熟练运用这些知识,可以更有效地管理对象的生命周期和状态。

    Android逆向-java代码基础(4)

    8. 内存管理:Java使用垃圾收集器自动管理内存,但了解内存分配、引用和垃圾回收的原理有助于分析内存泄漏等问题。 9. Android特定概念:在Android环境中,Java代码与Dalvik虚拟机(或ART)交互,涉及Intent、...

    完整版Java全套入门培训课件 Java基础 02-Java基础语法1(共35页).rar

    - 构造器是初始化对象的方法,关键字`this`引用当前对象,`super`引用父类对象。 12. **封装、继承和多态**: - 封装是将数据和操作数据的方法封装在类中。 - 继承允许子类继承父类的属性和方法,提高代码复用。...

    大学课程讲义-Java基础-反射.pptx

    Java基础-反射机制详解 本文将详细介绍Java基础中的反射机制,包括Class类、ClassLoader类、Constructor、Method、Field类的用法,以及动态代理机制。 Class类 Class类是Java中一个特殊的类,用于描述类本身的...

    学Java流程--Java语言基础

    每个类至少有一个构造器,如果没有显式定义,则Java会自动提供一个默认构造器。 7. **方法**:方法是封装在类中的一段可重用代码,通过调用来执行特定任务。方法参数和返回值是传递信息的重要手段。 8. **异常处理...

    Java 基础学习PPt---适合准备学习Java的初学者

    - 构造器:默认构造器、带参数的构造器、构造器的链。 - this关键字和super关键字的深入理解及其应用场景。 通过这五个章节的学习,初学者将对Java语言有全面的认识,能够编写简单的程序并理解面向对象的基本概念...

    Java-Study Java 基础 学习.zip

    "Java-Study Java 基础 学习.zip" 文件显然包含了一套关于Java基础学习的资源,很可能是代码示例、教程文档或者课程资料。在深入探讨之前,让我们先了解一下Java的基础知识。 1. **Java简介**: - Java是由Sun ...

    臧圩人--JAVA面试题解惑系列合集.pdf

    - **构造器**:最后执行,用于完成对象的构造,包括调用父类构造器(如果有的话),以及执行自身构造器内的代码。 - **示例代码**:臧圩人提供了具体的代码片段来演示类的初始化顺序,通过控制台输出验证理论知识...

    java-数组与方法及面向对象基础

    为了实现面向对象编程,我们还需要了解构造器、抽象方法、接口、访问控制、重载和重写等概念。 构造器用于初始化新创建的对象,比如`public MyClass(int value) {...}`。抽象方法没有实现,仅在抽象类中声明,由...

    2-java基础核心内容1

    在Java编程语言中,基础知识构成了程序设计的核心。...以上是Java基础核心内容的一部分,涵盖构造方法、封装、继承、多态、抽象类、接口等关键概念。理解和掌握这些概念是成为一名熟练的Java程序员的基础。

    大学课程讲义-Java基础-枚举&注解.pptx

    * 构造器使用 `private` 修饰符。 * 属性使用 `private final` 修饰符。 * 所有的实例都使用 `public static final` 修饰符。 使用 `enum` 关键字定义枚举类 使用 `enum` 关键字定义枚举类可以简化枚举的定义过程...

    java-java面试题库整理-基础-JVM-线程并发-框架等.zip

    - 类与对象:Java是一种面向对象的语言,了解类的定义、构造器、封装、继承和多态是基础。 - 异常处理:学习如何使用try-catch-finally语句块进行异常捕获和处理。 - 内存管理:理解栈内存和堆内存的区别,以及...

    求职宝典-Java 基础面试题

    构造器可以被重载,即定义多个带有不同参数列表的构造器,但构造器不能被重写,因为重写要求方法签名相同,而构造器名称必须与类名一致。 `byte` 类型在 Java 中是基本数据类型之一,它的取值范围是 -128 到 127。...

Global site tag (gtag.js) - Google Analytics