关于构造器
carey-pro 写道
1)java 构造器不是函数,所以他不能被继承,这在我们写子类的构造器的时候,即使子类构造参数和父类是完全一样的,我们也要写super()的原因;
2)构造器的修饰符比较有限,就缺省、public、priate、protected四种,其他任何的修饰符都不能对其使用,也就是说构造器不能被修饰成抽象,同步,静态等
3)因为构造器不是函数,所以构造器不能有返回值,但要说明的是构造器中允许存在retrun语句,但是return语句中什么也不能返回。 (构造器是有返回值的,返回的是该类的实例,但是构造器的返回值是隐式的。)
4)在构造其中中this和super只能选其一,不能同时出现在同一个构造其中,而且二者的位置都是构造器的第一行。
5)如果子类的构造器没有显示地调用超类的构造器,则将自动地调用超类默认(没有参数)的构造器。如果此时超类没有默认的构造器,则Java编译器将报告错误.一般无参构造器为缺省的构造器,当我们写一个没有构造器的类,编译的时候,编译器会自动加上一个不带参数的构造器。但是类中有构造器,编译器就不会再自动给加上一个不带参数的构造器,所以我们在编程的时候要记得把缺省的构造器写上,以防子类调用。
6)其他的构造器也能使用super或者this,调用成一个递归构造链,最后的结果是父类的构造器(可以是多层级的父类构造器)总是在子类的构造器前执行,递归的调用父类构造器
关于this关键字:
this关键字是一个对象的默认引用,它总是指向调用该方法的对象。
如果在static
修饰的方法中使用
this
关键字,则这个关键字将无法指向合适的对象。所以
static
中不能使用
this
引用。
关于变量:
1、成员变量:分为实例属性
(
需要实例化后才加载存放在堆中
)和类属性
(
程序一加载时
,
就初始化存放在栈中
);其中类属性从类的准备阶段开始存在直到系统完全销毁这个类,类属性的作用域与这个类的生存范围相同,实例属性则是从这个类的实例创建开始存在,直到系统完全销毁这个类。
2、局部变量:存放在方法的栈内存中分为形参、方法局部变量、代码块局部变量。
过多使用成员变量的缺陷:
增大了变量的生存空间,这将导致更大范围的系统开销;扩大变量的作用域这将不利于提高程序的内聚性。
关于访问控制符:
private
:同一个类
default:同一个类、同一个包
protected:同一个类、同一个包、子类中
public:全局范围内。
分享到:
相关推荐
构造器的作用主要体现在以下几个方面: - **初始化对象**:构造器的主要职责就是初始化对象。在创建对象时,通过传递不同的参数值,可以对对象进行不同的初始化设置。 - **设置默认值**:如果构造器没有接收到...
- **默认构造器**:如果程序员没有定义任何构造方法,Java编译器会自动提供一个无参的默认构造器。但一旦自定义了构造器,这个默认构造器将不再自动生成。 - **参数化构造器**:当需要在创建对象时传入特定值来初始...
对于初学者来说,理解和掌握以下几个关键概念至关重要。 1. **面向对象编程(OOP)**:Java 是一种典型的面向对象编程语言,它强调通过类和对象进行编程。OOP 的核心思想包括封装、继承和多态,这有助于提高代码的...
Java API分为以下几个部分: 1. **标准API**:这是Java最基础的部分,包括了核心类库,如`java.lang`、`java.util`等。 2. **扩展API**:这部分API通常包含在扩展包中,例如`javax.*`包,它们提供了更多的高级功能...
对于初学者来说,理解和掌握以下几个关键概念至关重要: 1. **面向对象(Object-Oriented Programming, OOP)**:Java的核心是OOP,它强调通过类来组织代码,类是对象的模板,对象则是类的实例,具有状态(state)...
这个构造器在不提供任何参数的情况下创建一个默认的圆,其圆心位于原点(0, 0),半径为0。 2. **有参构造器**: ```java void Circle(int x, int y, int r) { this.x = x; this.y = y; this.r = r; } ``` ...
在提供的文件列表中,我们有以下几个文件: 1. "介绍.txt" - 这可能包含对词法分析器构造器的详细说明,包括它的功能、如何使用以及任何特定的设计决策。 2. "词汇分析器外壳" - 这可能是实现词法分析器的主体代码,...
Java中的异常处理机制主要包括以下几个方面: - **捕获异常**:使用try-catch-finally结构捕获并处理异常。 - **抛出异常**:使用throw语句抛出异常。 - **自定义异常**:可以通过继承Exception或其子类来创建...
例如,它可以创建几个`Course`对象,然后调用`calculateGPA`方法来测试GPA的计算是否正确。`Java.jpg`可能是与课程相关的图片,例如一个关于Java编程的示例代码截图。 总结来说,通过Java的构造方法重载,我们可以...
- `getModifiers()`:返回构造器的修饰符,如public、private等,结果是一个整数,可以使用`java.lang.reflect.Modifier`类进行解析。 - `getParameterTypes()`:返回一个`Class[]`数组,表示构造器参数的类型。 -...
通过以上两个示例可以看出,Java类的基本运行顺序主要包括以下几个步骤: - **程序入口**:所有Java应用程序都从`main`方法开始执行。 - **对象实例化**:通过`new`关键字创建对象实例时,会自动调用对应的构造器...
"几个简单的java小程序"这个标题暗示了我们将会看到一系列小型的Java应用程序,这些程序可能涵盖基础到进阶的编程概念。这些小程序可能是为了教学或测试目的,通过它们,我们可以深入理解Java编程的核心概念。 首先...
在类和对象的知识点中,Java允许定义构造函数来初始化对象,即使没有显式定义,也会有一个默认的无参构造器。类变量是所有对象共享的,而实例变量在每个对象中都有独立的副本。一个类可以有多个构造方法,通过方法...
在Java编程语言中,构造方法和匿名对象是两个非常重要的概念,它们对于理解和创建对象起着关键作用。本文将深入探讨这两个主题,并结合...理解并熟练掌握这两个概念,对于提高Java编程效率和写出高质量的代码至关重要。
3. **面向对象编程**:理解类的构造器、对象的创建与初始化,掌握类的继承、多态、抽象类和接口的使用。 4. **集合框架**:学习ArrayList、LinkedList、HashSet、HashMap等集合类的使用,理解它们的特点和应用场景...
### JAVA面试易混概念及基础知识点详解 #### 1. Java源文件与类 - **概念解析**:在Java编程语言中,一个源文件可以包含多个类定义,但其中只能有一个公共类(public class),并且该公共类的名字必须与源文件的名字...
- java.lang.reflect.Constructor:表示类的构造器,用于在运行时创建类的新实例。 反射机制的主要应用场景包括:动态加载类、实现插件系统、处理JavaBean、框架开发等。尽管反射提供了很大的灵活性,但使用不当...
在"用Java构造自己的媒体播放器(三).txt"文件中,可能包含了更具体的步骤和代码示例,例如如何实例化和配置JMF,以及如何将播放器与UI元素绑定。"www.pudn.com.txt"可能是指向更多资源或下载链接的说明,帮助读者...
这个过程涉及到几个关键步骤,让我们深入探讨一下。 首先,我们需要一个类,它是创建对象的蓝图。在Java中,我们使用`class`关键字来定义一个类。例如: ```java public class MyClass { // 类的属性(状态) ...
- 构造器不是必须的,如果类中没有定义构造器,Java会自动提供一个默认构造器。 - 构造器必须与类同名,但方法可以与类不同名。 - 构造器在一个对象被`new`时执行,用于初始化对象的状态。 - 一个类可以定义多个...