java构造方法之我见
java中构造方法是作为除了成员方法之外的一种特殊方法,方法名与类名相同。一般类中如果没有明确定义构造方法时,编译器默认为无参构造方法。当我们调用new方法创建对象就是通过构造方法完成的。因此,当有对象被创建,就有构造方法被调用。构造方法的作用即为初始化对象。构造方法的基本特点如下:
1、没有返回值。且不能用void修饰。
2、名称与类一致。
构造方法可以是无参的,也可以是带参数的,为成员变量赋值。
子类与父类之间的构造方法:
我们知道调用一个类有两种方法,一是继承,二是组合(new);不管是哪种调用方式,都会运行构造函数。当涉及继承时,子类必须调用父类的构造方法,当父类为无参的构造方法时,可以隐式的调用父类默认的构造方法(可省略super(),java默认添加该语句);当父类的构造方法带有参数时,则需要在子类构造方法中明确写出用super()语句调用父类构造方法,且必须在构造方法的首句声明调用。举个例子:
package kindobject;
public class Test10 extends Test9{
public Test10(int a){
super(2);
int a2=a;
System.out.printf("a2\n"+a2);
}
public static void sleep(test9 b){
System.out.printf("i'm still sleeping!");
}
public static void main(String args[]){
test10 f=new test10(1);
run();
System.out.printf("\n");
sleep(f);
}
}
class Test9{
public Test9(int a){
int a1=a;
System.out.printf("a1"+a1);
}
public static void run(){
System.out.printf("i'm running!");
}
public static void sleep(test9 b){
System.out.printf("i'm sleeping!");
}
}
上述程序中,父类的构造方法是带参数的,因此必须在子类的构造方法中明确调用,且必须在首句,其中之一不满足,便会报错。
java构造方法之我见的更多相关文章
- Java构造方法与析构方法实例剖析
Java构造方法 类有一个特殊的成员方法叫作构造方法,它的作用是创建对象并初始化成员变量.在创建对象时,会自动调用类的构造方法. 构造方法定义规则:Java 中的构造方法必须与该类具有相同的名字,并且 ...
- Java 构造方法总结
Java 构造方法总结 ①方法名和 类名相同 ②在方法名的前面没有返回值类型的声明 ③在方法中不能使用return语句返回一个值 ④在创建对象时,要调用new,如:book b1=new book() ...
- java 构造方法
class MyTestClass { public int Value; public boolean equals(MyTestClass obj){ return obj.Value ==thi ...
- java构造方法的不同
分为有参数和无参数,还有THIS的使用方法,可用于传递给类,也可用于调用其它构造方法. public class Book { private String name; public Book(){ ...
- [转]java构造方法的访问修饰符
http://my.oschina.net/u/1464678/blog/210359 1. 类(class) 可见性修饰符: public—在所有类中可见,在其他包中可以用import导 ...
- Java构造方法、成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的?
[Java笔试真题]:构造方法.成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的? [解答]:当类第一次被加载的时候,静态变量会首先初始化,接着编译器会把实例变量初始化为默认值,然后执行构 ...
- java 构造方法详解
构造方法(构造器) 是一种特殊的方法,该方法只有功能:构造对象 特点: 1.没有返回值 2.构造方法的名称一定和类名一致 3.不能在构造方法中写r ...
- Java——构造方法和匿名对象
前言 在编写程序时不安全的初始化会导致程序发生发生重大错误.为了使程序可以被安全地初始化,C++引入了构造器(也可以成为构造方法)的概念,这是一个在创建对象时被自动调用的特殊方法.Java中也采用了构 ...
- JAVA构造方法与方法是啥意思,方法重载方法覆盖俗谈
构造函数跟构造方法是一样的,只是称呼不同; C语言里叫函数,Java里叫方法. 成员方法必须有返回类型即使是没有返回,也要写上void 构造方法没有返回类型,而且和类名一样!一个类里面,一看就知道了譬 ...
随机推荐
- rman理论(一)
1) 快照控制文件:开始备份后,RMAN 需要这些信息在备份操作期间保持一致,也就是说RMAN需要一个读取一致的控制文件视图. 除非RMAN 在备份持续时间内锁定控制文件,否则数据库会不断更新控制文件 ...
- plsql developer点滴
PLSql中查看编译错误的具体内容: 1. 打开Command Windows show errors procedure procedure_name
- Windows C/C++调试
windows兼容dirent.h error c4996: 'fopen': This function or variable may be unsafe This file requires _ ...
- zynq基础
zynq交叉编译环境设置 OpenCV在Zedboard上的移植 ubuntu 下串口调试工具 minicom安装与配置
- 分布式环境下的session管理
一.分布式Session的几种实现方式 1.1.基于cookie 进行session共享 简单.方便,每次通过判断cookie中的用户状态信息判断用户的登录状态:但是用户信息要存在客户端,存在安全隐患 ...
- 三 Flask+ MySQL 数据库操作
一: __init__.py作用: __init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件.通常__init__.py ...
- RHEL6.3卸载OpenJDK操作示范:
安装好的CentOS会自带OpenJdk,用命令 java -version ,会有下面的信息: java version "1.6.0" OpenJDK Runtime Envi ...
- MySQL 之 扩展例子
扩展例子 插入一条记录 INSERT INTO 表名 [(字段1,…,字段n)] VALUES (值1,…,值n) 插入查询的结果 INSERT INTO 表名 (字段1,…,字段n) VALUES ...
- Microsoft EBooks
Go pick up what you are interested J http://blogs.msdn.com/b/mssmallbiz/archive/2014/07/07/largest-c ...
- 无监督学习:Deep Generative Mode(深度生成模型)
一 前言 1.1 Creation 据说在费曼死后,人们在他生前的黑板上拍到如图画片,在左上角有道:What i cannot create ,I do not understand. Generat ...