1 构造函数必须满足的语法规则:方法名必须与类名相同;不要声明返回类型;不能被static、final、synchronized、abstract、native等修饰。
2 构造方法可以被重载,来表达对象的多种初始化行为。在重载构造方法中可以使用this语句来调用其他构造方法,使用时应该注意:如果在构造方法中使用了this语句,则必须作为构造方法的第一条语句;只能在一个构造方法中用this语句来调用类的其他构造方法,而不能在成员方法中调用类的构造方法;只能通过this语句来调用其他构造方法,不能通过方法名来直接调用构造方法。
3 在java中,如果用户定义的类中没有提供任何构造方法,java语言会自动提供一个默认的构造方法,该默认构造方法没有参数,用public修饰,且方法体为空。当然,程序中也可以显示的定义默认构造方法。
4 如果类中显示定义了一个或多个构造方法,并且所有的构造方法都带有参数,那么这个类就失去了java语言为其准备的默认构造方法,此时若使用该类的默认构造方法(即不含参数的构造方法)时就是编译出错。
5 父类的构造方法不能被子类继承,但是,在子类的构造方法中可以通过super语句调用父类的构造方法。使用super语句应该注意:在子类的构造方法中使用super语句,它必须作为第一条语句。
6 在创建子类的对象时,java虚拟机首先执行父类的构造方法,然后再执行子类的构造方法,在多级继承的情况下,将从继承树的最上层得父类开始,依次执行各个类的构造方法,这可以保证子类对象从所有直接或间接父类中继承的实例变量都被正确的初始化。
7 如果子类的构造方法中没有用super语句显示调用父类的构造方法,那么通过这个构造方法创建子类对象时,java虚拟机会自动先调用父类的默认构造方法,而此时若父类没有默认构造方法时,就是编译出错。例如
public class B extends A{
B(int i) {//该构造方法没有super显示调用父类的构造方法,将自动调用父类的默认构造方法,而父类A没有默认构造方法,这里将编译错误
System.out.println(i);
}
public static void main(String[] args) {
B b=new B(2);
}
}
class A{//该类定义了含参数的构造方法,就失去了默认的无参的构造方法
int i;
A(int i){
this.i=i*2;
}
}
|
8 构造方法被调用的几种方式:当前类的其他构造方法通过this语句调用它;
当前类的子类的构造方法通过super语句调用它;在程序中通过new语句调用它。
9构造方法可以处于public、protected、private和默认四种访问级别之一。当构造方法为private级别时,意味着只能在当前类访问它,不能被继承,不能被其他程序用new创建实例对象。可以对比其他几种修饰符的作用:abstract修饰的类,不允许被实例化,这点和private修饰构造方法相同,但abstract修饰的类可以被继承,拥有子类,可以创建子类的实例;final类禁止被继承,这点和private修饰构造方法相同,但是final类可以用new创建实例对象。
分享到:
相关推荐
Java构造方法 Java构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和...
在Java编程语言中,构造方法是用于初始化新创建对象的特殊方法。它们的名字与类名相同,不返回任何类型,并且通常与new关键字一起使用。构造方法的重载(Overloading)是面向对象编程的一个重要特性,允许我们在同一...
Java编程语言的构造方法不同于普通方法之处有几点:构造方法名必须与类名相同,普通成员方法的方法名一般不能和类名相同;构造方法不能返回值,普通成员方法可以返回值;构造方法不能有以下非访问性质的修饰:...
下面是关于Java构造方法的详细知识点: 1. 构造方法的语法规则:构造方法必须满足以下语法规则: * 方法名必须与类名相同。 * 不要声明返回类型。 * 不能被static、final、synchronized、abstract和native修饰。...
- 默认构造方法:如果没有显式定义任何构造方法,Java编译器将自动提供一个默认构造方法。 - 显式构造方法:可以通过定义一个或多个构造方法来自定义对象的初始化方式。 ```java public class Student { private ...
### JAVA构造JSON对象的方法 在Java开发中,处理JSON数据是一项常见的任务,尤其是在与Web服务交互时。本文将详细介绍几种常用的在Java中构建JSON对象的方法,并通过具体的代码示例进行说明。 #### 一、使用`...
构造方法的几个关键知识点如下: 1. 构造方法的命名与作用:构造方法的名称必须与类名完全一致,它用于在创建对象时初始化对象的状态。当创建对象时,使用new运算符后跟类名和一对括号,如果括号内提供参数,则调用...
私有构造函数的应用场景主要有以下几点: 1. **工厂模式**:通过将构造函数设置为私有,可以实现一个工厂方法来代替直接的构造函数调用。这种方法允许类的内部逻辑控制如何创建对象,同时保持了类的封装性。例如,...
这里需要注意几点关于`this`的关键规则: - `this`关键字必须出现在构造方法的第一条语句中,因为它的作用是在对象初始化的开始阶段。 - 调用其他构造方法的目的是为了代码复用,确保每个构造方法都专注于其特定的...
在使用构造器时,我们需要注意以下几点: * 构造器的名称与类名相同,且没有返回类型,包括void。 * 在Java中,每个类都有一个默认的构造器,如果我们没有定义构造器,那么Java编译器将自动添加一个默认的构造器。 ...
在Java编程语言中,构造方法和普通方法是两种不同的函数,它们各自有着特定的作用和特点。下面我们将详细探讨这两者之间的区别。 首先,我们来看**普通方法**。普通方法是类中定义的一段代码,用于执行特定的任务。...
Java会为每个类提供一个默认的无参构造方法,如果自定义了构造方法,系统不再自动提供。例如,可以定义一个有参构造方法来初始化`name`和`age`。 ```java public Student(String name, int age) { this.name = ...
Java提供了多种类型的方法,包括构造方法、普通方法、静态方法和抽象方法。构造方法用于初始化类的新实例,普通方法执行特定任务,静态方法与类关联而非实例,抽象方法则在接口或抽象类中定义,需由子类实现。方法的...
定义抽象类以及抽象方法,构造方法,将子类1定义为抽象类,子类2继承子类1,子类2重写抽象方法。用以帮助理解多重继承、抽象方法重写调用、super、this关键字使用、构造方法、重载这几个的知识点
Java的继承有以下几个关键点: 1. Java支持单一继承,意味着一个类只能直接从一个父类继承。这有助于确保代码的可靠性和降低复杂性。 2. 尽管Java在类继承上是单继承的,但可以通过实现多个接口来实现多重继承的效果...
成员方法为—public double distance(Point p1,Point p2),功能为:计算并返回点p1与点p2之间的距离。 (2)编写测试类PointTest,创建2个点对象,计算并打印出该两点的距离,其中点的横纵坐标通过键盘输入的方式...
### JAVA单例模式的几种实现方法 #### 一、饿汉式单例模式 饿汉式单例模式是在类初始化时就已经完成了实例化的操作。这种模式下,类一旦被加载,就会创建一个单例对象。 ##### 代码示例: ```java class ...
Java程序员在准备考试时,需要关注的关键点集中在深入理解和应用面向对象编程思想,熟悉Java语言的基础概念和细节,以及通过实践和交流来增强自己的技能。以下是对这些关键点的详细阐述: 1. 面向对象思想的深度...