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 构造方法没有返回类型,而且和类名一样!一个类里面,一看就知道了譬 ...
随机推荐
- [转]Mac技巧——让Mac轻松访问Windows网络共享
Mac技巧——让Mac轻松访问Windows网络共享 用Mac(MacBook Pro)有段时间了,用一个字概括,那就是“爽”!当然,也有不爽的时候,比如说键盘键位变了,用eclipse的快捷键让 ...
- 洛谷 P4721 [模板]分治FFT —— 分治FFT / 多项式求逆
题目:https://www.luogu.org/problemnew/show/P4721 分治做法,考虑左边对右边的贡献即可: 注意最大用到的 a 的项也不过是 a[r-l] ,所以 NTT 可以 ...
- 网络最大流dinic模板
#include<iostream> #include<cstdio> #include<cstring> #include<queue> using ...
- Poj1007_DNA Sorting(面向对象方法)
一.Description One measure of ``unsortedness'' in a sequence is the number of pairs of entries that a ...
- 6、scala面向对象-对象
一.对象 1.object object,相当于class的单个实例,通常在里面放一些静态的field或者method,第一次调用object的方法时,就会执行object的constructor, ...
- 如何部署JavaWeb应用
准备 公网主机一台(推荐云服务器) 数据库安装包 JDK安装包 Tomcat安装包 WAR包(web应用包) 部署 安装所需软件,并测试基本环境是否可用 将WAR包解压至Tomcat目录下的webap ...
- UniqueIdentifier 数据类型
UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...
- day01-HTML(1)
一. 常用快捷键 Ctrl+c 复制 Ctrl+v 粘贴 Ctrl+x 剪切 Ctrl+a 全选 Ctrl+s 保存 Ctrl+z 撤销一步 Windows+d 返回桌面 Windows+e 我的电脑 ...
- 字符串反转reverse
我们有一串字符串,比如: DECLARE @Source VARCHAR(MAX)= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 现想把它反转显示: ZYXWVUTSRQPONMLKJI ...
- lightoj1009【DFS】
思路: 连通快+二分图,每次+二分图大的元素个数. #include<bits/stdc++.h> using namespace std; typedef unsigned long l ...