JAVA初始化顺序略谈
package com.wensefu.constructor;
class Meal{
Meal(){
System.out.println("Meal()");
}
}
class Bread{
Bread(){
System.out.println("bread()");
}
}
class Chesse{
Chesse(){
System.out.println("Chesse()");
}
}
class Lettuce{
Lettuce(){
System.out.println("Lettuce()");
}
}
class Lunch extends Meal{
Lunch(){
System.out.println("Lunch()");
}
}
class PortableLunch extends Lunch{
PortableLunch(){
System.out.println("PortableLunch()");
}
}
/*
* 1,调用基类构造器,此过程会反复递归下去
* 2,按照声明顺序调用成员的初始化方法
* 3,调用导出类构造器的主体
*/
public class Demo extends PortableLunch{
private Bread b=new Bread();
private Chesse c=new Chesse();
private Lettuce l=new Lettuce();
public Demo() {
// TODO Auto-generated constructor stub
System.out.println("Demo()");
}
public static void main(String[] args) {
new Demo();
}
}
输出:
Meal()
Lunch()
PortableLunch()
bread()
Chesse()
Lettuce()
Demo()
package com.wensefu.duotai;
abstract class Glyph{
abstract void draw();
Glyph(){
System.out.println("Glyph() before draw()");
draw();
System.out.println("Glyph() after draw()");
}
}
class RoundGlyph extends Glyph{
private int radius=1;
RoundGlyph(int r){
radius=r;
System.out.println("RoundGlyph.RoundGlyph(), radius="+radius);
}
@Override
void draw() {
// TODO Auto-generated method stub
System.out.println("RoundGlyph.draw(),radius="+radius);
}
}
/*
* 初始化实际过程:
* 1,在其他任何事物发生之前,将分配给对象存储空间初始化成二进制的零
* 2,调用基类构造器,此时,调用被覆盖后的draw()方法,(在调用RoundGlyph构造器之前调用),
* 3,按照声明的顺序调用成员的初始化方法
* 4,调用导出类的构造方法
*/
public class PolyConstructors {
public static void main(String[] args) {
new RoundGlyph(6);
}
}
输出:
Glyph() bef
相关文档:
将某 class 产生出一个 instance 之后,此 class 所有的 instance field 都会新增一份,那么所有的 instance method 是否也会新增一份?答案是不会,我们用field表示字段,用method表示方法,那么加上static区分后就 有四种:
class field:有用static修饰的field
class method:有用static修饰的method
instance fi ......
一、什么是反射:
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、Open ......
一 DOM 以下代码用DOM是生成一个XML文档
package xml;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
imp ......
一.项目简介:
JAVA语言是一种可移植的,简单的,健壮的嵌入式语言。并且对网络,数据库有很好的支持,基于JAVA语言的这种特性可以十分容易地建立一个小型INTERNET服务器。
本项目中,作者用JAVA语言编写了一个WEB微型服务器,对简单的HTTP请求进行响应,并通过后端数据库对用户的查询进行处理,从而动态地返回HT ......
1.java类库自带的方法:
1、public boolean isNumber(String str)
{
if(java.lang.Character.isDigit(msg.charAt(0))){
return true;
}
return false;
}
}
2.更新:用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
这两个包,或者不导 ......