- 浏览: 239726 次
- 性别:
- 来自: 常州
-
文章分类
- 全部博客 (165)
- Java基础 (49)
- 开发工具 (3)
- Python基础 (1)
- Oracle基础 (9)
- Java 符号计算 (0)
- 计算机基本原理 (10)
- SQL (6)
- javascript (16)
- HTML (2)
- XML (4)
- 程序员之路 (7)
- JDBC (1)
- Unicode (0)
- 字符编码 (3)
- JSP基础 (2)
- Servlet&JSP (9)
- MySQL基础 (1)
- UML基础 (1)
- Hibernate (2)
- Java包 (1)
- Spring (1)
- Struts2 (9)
- 系统命令 (1)
- Tomcat (1)
- Windows (1)
- Android (1)
- C#基础 (14)
- HTML5 (1)
- .NET基础 (1)
- 数据库基础 (2)
- ASP.NET基础 (7)
- 开源Java (3)
- 趣味算法 (1)
- 面向对象思想 (1)
- 软件应用 (1)
- Web工程 (1)
- jquery (2)
- JPA (0)
- 设计模式 (0)
最新评论
-
静夜独窗:
JavaBean组件能说的具体一点吗,我感觉这样说理解的不清晰 ...
EL 表达式语言 -
静夜独窗:
在Java中,不同字符集编码的转换是通过Unicode作为中介 ...
JavaWeb中的乱码产生与解决方案
构造方法
构造方法的语法规则:
1.方法名必须与类名相同。
2.不要声明返回类型。
3.不能被static,final,synchronized,abstract和native修饰。
(a) 构造方法不能被子类继承,所以用final和abstract修饰没有意义。
(b) 构造方法用于初始化一个新建对象,所以用static修饰没有意义。
(c) 多个线程不会同时创建内存地址相同的同一个对象,因此synchronized修饰没有必要。
(d) Java语言不支持native类型的构造方法。
重载构造方法
Java语言允许在一个构造方法中,用this语句来调用另一个构造方法。
用this语句调用其他构造方法时,必须遵循以下语法规则:
1. 假如在一个构造方法中使用了this语句,那么它必须作为构造方法的第一条语句(不考虑注释语句)。
2. 只能在一个构造方法中用this语句来调用类的其他构造方法,而不能在实例方法中使用this语句来调用累的其他构造方法。
3. 只能用this语句调用其他构造方法,而不能通过方法名来直接调用构造方法。
默认构造方法
默认构造方法即每月参数的构造方法,分为两种:
1. 隐含的默认构造方法。
2. 程序显示定义在默认构造方法。
注意:
如果类中显示定义了一个或多个构造方法,且所定义的构造方法都带参数,则该类就失去了默认构造方法。
子类调用父类的构造方法
父类构造方法不能被子类继承
在子类中通过super语句调用父类的构造方法。
用super语句调用父类的构造方法时,必须遵守以下语法规则:
1. 在子类的构造方法中,不能直接通过父类方法名调用父类的构造方法
2. 假如在子类的构造方法中有super语句,它必须作为构造方法的第一条语句。
说明:
在创建子类对象时,JVM首先执行父类的构造方法,然后再执行子类的构造方法。在多级继承的情况下,将从继承树的最上层的父类开始,依次执行各个类的构造方法,这可以保证子类对象从所有直接或间接父类中继承的实例变量都被正确地初始化。
如果子类的构造方法没有用super语句显示调用父类的构造方法,那么通过这个构造方法创建子类对象时,JVM会自动先调用父类的默认构造方法。
如果子类的构造方法没有用super语句显示调用父类的构造方法,而父类又没有提供默认的构造方法时,将会出现编译错误。
构造方法的作用域
构造方法只能通过以下方式被调用:
1.当前类的其他构造方法通过this语句调用它。
2.当前类的子类的构造方法通过super语句调用它。
3.在程序中通过new语句调用它。
构造方法的访问级别
构造方法修饰为public,protected,private或 默认。
当构造方法为private级别时,意味着只能在当前类中访问它:在当前的其他构造方法中可以通过this语句调用它,此外还可以在当前类的成员方法通过new语句调用它。
以下场合构造方法为private类型:
(1) 类中仅仅包含了一些共其他程序调用的静态方法,没有任何实例方法。无须实例该类的实例。为了禁止这种类创建这种类的实例。使用private的构造方法。
(2) 禁止类被继承。当一个类的所有构造方法都是private类型时,假如定义了它的子类,那么子类的构造方法无法调用父类的任何构造方法。因此会导致编译错误。
说明:
final类也能防止类被继承。
区别:
- 如果一个类允许其他程序用new语句构造它的实例,但不允许拥有子类,那么就把类声明为final类型。
- 如果一个类既不允许其他程序用new语句构造它的实例,又不允许拥有子类,那么就把类的所有构造方法声明为private类型。
(3) 类需要把构造方法自身实例细节封装起来,不允许其他程序通过new()语句创建类的实例。这个类向其他程序提供获得自身实例的静态方法,这种方法称为静态工厂方法。
发表评论
-
Java NIO 基础学习
2013-09-21 16:24 964零、概述 1、传统IO的问题 2、非阻塞IO ... -
try finally 与 return
2013-09-02 16:11 9651、try、catch、finally语句中,在如果try ... -
Java的传值
2013-07-21 13:06 957这个问题一直以来都有误区。本质原因是那些写书的人,喜欢用“传 ... -
Java多线程——synchronized的问题
2013-06-14 15:51 1049一直以来都存在这样的问题: 多线程操作同一对象。该对象有 ... -
Java与操作系统的交互
2013-05-05 22:08 1710System类 System表示Java程序的运行平台。S ... -
java枚举
2013-04-06 15:59 907枚举,之前一直忽视了其存在。其实挺有用。 java5 ... -
Java语法细节
2013-02-03 11:19 934final关键字 final修饰的量以视为常量,当fin ... -
Java Socket 学习笔记
2013-01-29 23:42 961Socket:英文中的意思是插座。 两个Java应用程序 ... -
Java 线程同步
2013-01-27 23:17 1043理解Java线程状态: ... -
Java 与 C# 计算性能比较
2012-11-02 14:51 1173程序:寻找2亿以内的最大素数,从2开始寻找。 Java程序: ... -
Java数组的操作
2012-10-12 11:23 852一、复制数组 java.lang.System类中的静态 ... -
Java容器
2012-10-09 00:33 887Java集合类就像容器。把多个对象的引用放进容器中。即集合类主 ... -
Java日期处理
2013-01-31 23:05 865不得不吐槽一下Java的日期处理。太不爽了。 基本 ... -
java:Excel
2012-09-27 09:06 1127jxl操作excel 在开源世界中,有两套比较有影响的API ... -
关于分页显示的页码
2012-08-21 13:30 1278分页显示数据时常常需要将页码列出来。 此处的Page类主要关 ... -
dom4j
2012-07-07 17:21 2249dom4j 与JDOM一样,也是一种用于解析XML文档 ... -
JDOM基础
2012-07-07 17:20 1957JDOM Java Document Object Mode ... -
线程优先级 && 后台线程 && join线程
2012-07-02 23:08 46线程优先级 每个线 ... -
Java线程的运行状态(线程的生命周期)
2012-07-02 22:56 905新建和就绪 ... -
Java多线程 Thread类 和 Runnable接口
2012-07-02 22:13 1527Java的线程,即一个Thre ...
相关推荐
了解和熟练使用构造方法是Java面向对象编程的基础,下面将详细阐述Java构造方法的相关知识点。 一、构造方法的作用 构造方法的主要任务是在创建对象时设置对象的初始状态,为对象成员变量赋值。当一个类被实例化时...
这里,`<init>`是Java构造方法的特殊标识符,`()`V表示无参数的void构造方法。 对于父类方法,你需要先获取父类的`jclass`,然后按照同样的方式寻找并调用方法。例如,如果`YourJavaClass`继承自`ParentClass`,...
Java 构造方法是编程语言中的一个重要概念,特别是在面向对象编程中,如Java。它们是类的特殊方法,用于初始化新创建的对象。当一个对象被创建时,构造方法会被自动调用,为对象的成员变量赋值,进行必要的设置,...
79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java...
### Java构造方法详解 #### 一、构造方法基础概念 构造方法是Java中一种特殊的方法,主要用于初始化新创建的对象。每个类至少有一个构造方法。如果程序员没有显式地定义构造方法,Java编译器会自动为类添加一个无...
Java构造方法是面向对象编程中的一个关键概念,用于初始化新创建的对象。在Java类中,构造方法是一个特殊的方法,它的名字必须与类名完全相同,没有返回类型,甚至不包括void关键字。当我们创建一个类的新实例时,...
关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT ...
java构造方法的学习对java学习者尤为重要
Java构造方法 Java构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和...
Java构造方法解析 在Java编程语言中,构造方法是一个特殊的方法,它的主要任务是初始化一个新创建的对象。构造方法与类名相同,并且没有返回类型,即使是void也不行。了解和熟练使用构造方法是Java程序员的基本技能...
下面详细解析Java构造方法的特性和使用方法。 构造方法的特性: 1. 方法名与类名相同:构造方法的名字必须与类名完全相同,这是Java语法规定的一部分,便于编译器识别并自动调用构造方法。 2. 构造方法无返回类型:...
在JNI中访问Java构造方法,有助于我们创建和初始化Java对象,这对于处理一些特定场景如资源管理、对象实例化等特别有用。 首先,我们需要在Java类中声明native方法,并为其提供一个对应的C/C++函数签名。例如,如果...
本文件主要探讨了Java中带有不同构造方法的程序如何影响内存分析,这包括无参构造方法、带参数的构造方法以及它们在内存分配中的应用。 首先,让我们了解一下构造方法。构造方法是一种特殊的方法,它的名字与类名...
Java构造方法的作用总结 Java构造方法是Java语言中的一种特殊方法,它用于初始化新建的对象。构造方法的主要作用是对类进行初始化,它们的方法名必须与类名相同,并且不可以声明返回类型。下面是关于Java构造方法的...
JAVA构造方法详解 JAVA构造方法是一个特殊的方法,它用于初始化类的对象。构造方法的作用是对类进行初始化,如果你没有定义任何构造方法的形式,编译器会为你提供一个不带任何参数的构造函数,那么你产生类的对象时...
是我的博客配套的源代码,讲解Java的构造方法,和四种访问权限,也可以在博客评论区找我要,博客地址:https://blog.csdn.net/qq_41464123/article/details/107461710
### Java构造方法与“析构方法” #### 构造方法定义与作用 构造方法是一种特殊的方法,其名称必须与类名完全一致,且没有返回类型(包括`void`)。构造方法的主要作用是在创建对象时初始化该对象的成员变量。通过...
Java构造方法是面向对象编程中一个至关重要的概念,它用于在创建对象时初始化对象的状态,即设置对象成员变量的初始值。构造方法的名称必须与类名完全相同,且不返回任何值,包括void关键字。Java中的构造方法是类的...
83.java中String构造方法.zip83.java中String构造方法.zip83.java中String构造方法.zip83.java中String构造方法.zip83.java中String构造方法.zip83.java中String构造方法.zip83.java中String构造方法.zip83.java中...