Java构造方法实例详解(动力节点java学院整理)
构造函数是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为v对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。构造函数与类名相同,可重载多个不同的构造函数。在JAVA语言中,构造函数与C++语言中的构造函数相同,JAVA语言中普遍称之为构造方法。
使用构造器时需要记住:
1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名)
2.每个类可以有一个以上的构造器
3.构造器可以有0个、1个或1个以上的参数
4.构造器没有返回值
5.构造器总是伴随着new操作一起调用
示例:
A.java
Java代码
public class A{ public A(){ System.out.println("调用了无参的构造函数"); } public A(String mess){ System.out.println("调用了有参的构造函数\n"+ "参数内容为:"+mess); } }
Test.java
Java代码
public class Test{ public static void main(String [] args){ A a_1=new A();//调用无参的构造函数 A a_2=new A("Hello");//调用有参的构造函数 } }
输出结果:
继承与构造函数
使用super调用父类构造器的语句必须是子类构造器的第一条语句
如果子类构造器没有显式地调用父类的构造器,则将自动调用父类的默认(没有参数)的构造器。如果父类没有不带参数的构造器,并且在子类的构造器中又没有显式地调用父类的构造器,则java编译器将报告错误
示例:
A.java
Java代码
public class A{ public A(){ System.out.println("调用了A的无参构造函数"); } public A(String mess){ System.out.println("调用了A的有参的构造函数\n"+ "参数内容为:"+mess); } }
B.java
Java代码
public class B extends A{ public B(){ System.out.println("调用了B的无参构造函数"); } public B(String mess){ super(mess); System.out.println("调用了B的有参构造函数\n"+ "参数内容为:"+mess); } }
Test.java
Java代码
public class Test{ public static void main(String [] args){ B b_01=new B(); B b_02=new B("你好"); } }
输出结果:
以上所述是小编给大家介绍的Java构造方法实例详解(动力节点java学院整理),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
java继承中的构造方法实例解析
本文实例讲述了java继承中的构造方法.分享给大家供大家参考.具体如下: 继承中的构造方法: 1.子类的构造过程中必须调用其基类的构造方法. 2.子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法. 2.1.使用this(argument_list)调用本类的另外构造方法. 2.2.如果调用super,必须写在子类构造方法的第一行. 3.如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用基类的无参数构造方法. 4.如果子类构造方法中既没有显
-
Java中自动生成构造方法详解
Java中自动生成构造方法详解 每个类在没有声明构造方法的前提下,会自动生成一个不带参数的构造方法,如果类一但声明有构造方法,就不会产生了.证明如下: 例1: class person { person(){System.out.println("父类-person");} person(int z){} } class student extends person { // student(int x ,int y){super(8);} } class Rt { public st
-
java中的静态代码块、构造代码块、构造方法详解
运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System.out.println("I'm B class"); } static { System.out.println("static B"); } public static void main(String[] args) { new HelloB(); } } cla
-
Java中子类调用父类构造方法的问题分析
在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的? 答案如下: 当你new一个子类对象的时候,必须首先要new一个父类的对像出来,这个父类对象位于子类对象的内部,所以说,子类对象比父类对象大,子类对象里面包含了一个父类的对象,这是内存中真实的情况.构造方法是new一个对象的时候,必须要调的方法,这是规定,要new父类对象出来,那么肯定要调用其构造方法,所以: 第一个规则:子类的构造过程中,必须调用其父类的构造方
-
java构造函数示例(构造方法)
TestCar.java 复制代码 代码如下: public class TestCar { public static void main(String[] args) { Car c1 = new Car(); c1.color = "red"; c1.brand = "xxx";//如果这辆汽车有很多属性,这样一一赋值不是很麻烦?有没有办法一生产出来就设定它的属性(初始化)吗?有~~~看下面
-
Java构造方法实例详解(动力节点java学院整理)
构造函数是一种特殊的函数.其主要功能是用来在创建对象时初始化对象, 即为v对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中.构造函数与类名相同,可重载多个不同的构造函数.在JAVA语言中,构造函数与C++语言中的构造函数相同,JAVA语言中普遍称之为构造方法. 使用构造器时需要记住: 1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名) 2.每个类可以有一个以上的构造器 3.构造器可以有0个.1个或1个以上的参数 4.构造器没有返回值 5.构造器总是伴随
-
Java类的继承实例详解(动力节点Java学院整理)
一.你了解类吗? 在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名称(当然以数字开头的名称是不允许的). 在类内部,对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则Java会保证类的每个成员变量都得到恰当的初始化: 1)对于 char.short.byte.int.long.float.double等基本数据类型的
-
Java 垃圾回收机制详解(动力节点Java学院整理)
1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象:而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾.JVM的一个系统级线程会自动释放该内存块.垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃.当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用.事实上,除了释放没用的对象,垃圾回收也可以清除内存记录碎片.由于创建对象和垃圾回收器释放丢弃对象所占的内存空间,
-
Java递归算法详解(动力节点整理)
递归算法是一种直接或者间接调用自身函数或者方法的算法.Java递归算法是基于Java语言实现的递归算法.递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解.递归算法对解决一大类问题很有效,它可以使算法简洁和易于理解. 递归算法解决问题的特点: 1)递归就是方法里调用自身. 2) 在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口. 3)递归算法解题通常显得很简洁,但递归算法解题的运行效率较低.所以一般不提倡用递归算法设计程序. 4)在递
-
Java异常处理实例详解
1. 异常例子 class TestTryCatch { public static void main(String[] args){ int arr[] = new int[5]; arr[7] = 10; System.out.println("end!!!"); } } 输出:(越界) Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7 at TestTryCatch.
-
Java 多线程实例详解(三)
本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题. 一.一个典型的Java线程安全例子 public class ThreadTest { public static void main(String[] args) { Account account = new Account("123456", 1000); DrawMoneyRunnable drawMoneyRunnable = new DrawMoneyRunnable(account, 700); Thr
-
MyBatis创建存储过程的实例代码_动力节点Java学院整理
所需要用到的其他工具或技术: 项目管理工具 : Maven 测试运行工具 : Junit 数据库 : Derby 本节需要用到的有2部分,第一部分是如何在Derby中创建存储过程,第二部分是如何在Mybatis中调用存储过程 一. 在Derby中创建存储过程 在Eclipse中创建一个新的普通Java项目命名为Test_Store_Procedure 在com.bjpowernode.practice包下创建一个Class命名为StoreProcedureOperationClass.class
-
C#调用Java方法实例详解
C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用C++的例子网上很多,以一个C++的具体方法为例. C++代码 // 获取一帧图像数据 MVSMARTCAMCTRL_API int __stdcall MV_SC_GetOneFrame(IN void* handle, IN OUT unsigned char *pData , IN unsig
-
Java 多线程实例详解(二)
本文承接上一篇文章<Java多线程实例详解(一)>. 四.Java多线程的阻塞状态与线程控制 上文已经提到Java阻塞的几种具体类型.下面分别看下引起Java线程阻塞的主要方法. 1.join() join -- 让一个线程等待另一个线程完成才继续执行.如A线程线程执行体中调用B线程的join()方法,则A线程被阻塞,知道B线程执行完为止,A才能得以继续执行. public class ThreadTest { public static void main(String[] args) {
-
Java数据结构之散列表(动力节点Java学院整理)
基本概念 散列表(Hash table,也叫哈希表),是根据关键字(key value)而直接进行访问的数据结构. 说的具体点就是它通过吧key值映射到表中的一个位置来访问记录,从而加快查找的速度. 实现key值映射的函数就叫做散列函数 存放记录的数组就就叫做散列表 实现散列表的过程通常就称为散列(hashing),也就是常说的hash 散列 这里的散列的概念不仅限于数据结构了,在计算机科学领域中,散列-哈希是一种对信息的处理方法,通过某种特定的函数/算法(散列函数/hash()方法)将要检索的
随机推荐
- Linux下安装或升级Python 2.7的操作方法
- jQuery获取table行数并输出单元格内容的实现方法
- CentOS虚拟机克隆后无法上网(网卡信息不一致)问题的解决方法
- 关于JS中setTimeout()无法调用带参函数问题的解决方法
- js正则匹配出所有图片及图片地址src的方法
- 快来领取!你想要的C++/C语言优秀书籍
- js中更短的 Array 类型转换
- Servlet网上售票问题引发线程安全问题的思考
- 两个多选select(multiple左右)添加、删除选项和取值实例
- 爆笑 四大银行高招 看了必笑
- Python 安装setuptools和pip工具操作方法(必看)
- SQLServer中字符串左对齐或右对齐显示的sql语句
- PHP脚本中include文件出错解决方法
- jQuery实现对无序列表的排序功能(附demo源码下载)
- 一个可以显示当前年份以及生肖的js代码
- js string 转 int 注意的问题小结
- Apache Web服务器安全配置全攻略
- Java-文件File简单实用方法(分享)
- PHP中创建图像并绘制文字的例子
- spring boot整合Swagger2的示例代码