`
msn877763580
  • 浏览: 83782 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Java构造器及几个基本概念

 
阅读更多
关于构造器
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入门理解构造器

    构造器的作用主要体现在以下几个方面: - **初始化对象**:构造器的主要职责就是初始化对象。在创建对象时,通过传递不同的参数值,可以对对象进行不同的初始化设置。 - **设置默认值**:如果构造器没有接收到...

    Java 构造方法

    - **默认构造器**:如果程序员没有定义任何构造方法,Java编译器会自动提供一个无参的默认构造器。但一旦自定义了构造器,这个默认构造器将不再自动生成。 - **参数化构造器**:当需要在创建对象时传入特定值来初始...

    Java新手入门的30个基本概念

    对于初学者来说,理解和掌握以下几个关键概念至关重要。 1. **面向对象编程(OOP)**:Java 是一种典型的面向对象编程语言,它强调通过类和对象进行编程。OOP 的核心思想包括封装、继承和多态,这有助于提高代码的...

    浅谈java中的四个核心概念

    Java API分为以下几个部分: 1. **标准API**:这是Java最基础的部分,包括了核心类库,如`java.lang`、`java.util`等。 2. **扩展API**:这部分API通常包含在扩展包中,例如`javax.*`包,它们提供了更多的高级功能...

    Java新手入门的30个基本概念.doc

    对于初学者来说,理解和掌握以下几个关键概念至关重要: 1. **面向对象(Object-Oriented Programming, OOP)**:Java的核心是OOP,它强调通过类来组织代码,类是对象的模板,对象则是类的实例,具有状态(state)...

    包含圆类的程序(含几种构造方法)java语言实现

    这个构造器在不提供任何参数的情况下创建一个默认的圆,其圆心位于原点(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常见概念题

    Java中的异常处理机制主要包括以下几个方面: - **捕获异常**:使用try-catch-finally结构捕获并处理异常。 - **抛出异常**:使用throw语句抛出异常。 - **自定义异常**:可以通过继承Exception或其子类来创建...

    java 使用构造方法的重载计算课程的GPA值

    例如,它可以创建几个`Course`对象,然后调用`calculateGPA`方法来测试GPA的计算是否正确。`Java.jpg`可能是与课程相关的图片,例如一个关于Java编程的示例代码截图。 总结来说,通过Java的构造方法重载,我们可以...

    653.651.JAVA基础教程_反射-获取运行时类的构造器结构(653).rar

    - `getModifiers()`:返回构造器的修饰符,如public、private等,结果是一个整数,可以使用`java.lang.reflect.Modifier`类进行解析。 - `getParameterTypes()`:返回一个`Class[]`数组,表示构造器参数的类型。 -...

    Java类的基本运行顺序

    通过以上两个示例可以看出,Java类的基本运行顺序主要包括以下几个步骤: - **程序入口**:所有Java应用程序都从`main`方法开始执行。 - **对象实例化**:通过`new`关键字创建对象实例时,会自动调用对应的构造器...

    几个简单的java小程序

    "几个简单的java小程序"这个标题暗示了我们将会看到一系列小型的Java应用程序,这些程序可能涵盖基础到进阶的编程概念。这些小程序可能是为了教学或测试目的,通过它们,我们可以深入理解Java编程的核心概念。 首先...

    JAVA程序设计判断题题库81道

    在类和对象的知识点中,Java允许定义构造函数来初始化对象,即使没有显式定义,也会有一个默认的无参构造器。类变量是所有对象共享的,而实例变量在每个对象中都有独立的副本。一个类可以有多个构造方法,通过方法...

    MLDN魔乐JAVA_05构造方法、匿名对象.rar

    在Java编程语言中,构造方法和匿名对象是两个非常重要的概念,它们对于理解和创建对象起着关键作用。本文将深入探讨这两个主题,并结合...理解并熟练掌握这两个概念,对于提高Java编程效率和写出高质量的代码至关重要。

    Java程序设计及应用开发教程

    3. **面向对象编程**:理解类的构造器、对象的创建与初始化,掌握类的继承、多态、抽象类和接口的使用。 4. **集合框架**:学习ArrayList、LinkedList、HashSet、HashMap等集合类的使用,理解它们的特点和应用场景...

    Java常问到的几个中级以上问题

    - java.lang.reflect.Constructor:表示类的构造器,用于在运行时创建类的新实例。 反射机制的主要应用场景包括:动态加载类、实现插件系统、处理JavaBean、框架开发等。尽管反射提供了很大的灵活性,但使用不当...

    用Java构造自己的媒体播放器(三).rar_Java 播放器_java media player_java 媒体播放器

    在"用Java构造自己的媒体播放器(三).txt"文件中,可能包含了更具体的步骤和代码示例,例如如何实例化和配置JMF,以及如何将播放器与UI元素绑定。"www.pudn.com.txt"可能是指向更多资源或下载链接的说明,帮助读者...

    java实例化对象的过程

    这个过程涉及到几个关键步骤,让我们深入探讨一下。 首先,我们需要一个类,它是创建对象的蓝图。在Java中,我们使用`class`关键字来定义一个类。例如: ```java public class MyClass { // 类的属性(状态) ...

    Java经典面试题大全(带答案)

    - 构造器不是必须的,如果类中没有定义构造器,Java会自动提供一个默认构造器。 - 构造器必须与类同名,但方法可以与类不同名。 - 构造器在一个对象被`new`时执行,用于初始化对象的状态。 - 一个类可以定义多个...

    编译原理及实践手工构造词法分析器

    手动构造词法分析器通常包括以下几个步骤: 1. 定义词法规则:这涉及到确定哪些字符串应该被视为有效的词法单元,例如,你可以定义一个规则表明所有以字母开头,后跟零个或多个字母、数字的字符串都是标识符。 2. ...

Global site tag (gtag.js) - Google Analytics