标签:scan tao integer extends char bool student 重载 ack
package jxlpacakge;//信1605-3 20163432 张运涛
public class InitializeBlockClass {
{
field=200;
}
public int field=100;
public InitializeBlockClass(int value)//定义有参的构造函数
{
this.field=value;
}
public InitializeBlockClass()//定义无参的构造函数
{
}
public static void main(String[] args) {
// TODO Auto-generated method stub
InitializeBlockClass obj=new InitializeBlockClass();//构造InitializeBlockClass类的对象obj
System.out.println("输出:"+obj.field);
obj=new InitializeBlockClass(300);
System.out.println("输出:"+obj.field);
}
}
所有类的变量都默认初始化为null,比如String a; Integer b;
数字类的原始数据类型默认初始化为0,比如int a; short b; char c;
boolean默认初始化为false;
package jxlpacakge;//信 1605-3 20163432 张运涛
class Root
{
static{
System.out.println("Root的静态初始化块");
}
{
System.out.println("Root的普通初始化块");
}
public Root()
{
System.out.println("Root的无参数的构造器");
}
}
class Mid extends Root
{
static{
System.out.println("Mid的静态初始化块");
}
{
System.out.println("Mid的普通初始化块");
}
public Mid()
{
System.out.println("Mid的无参数的构造器");
}
public Mid(String msg)
{
//通过this调用同一类中重载的构造器
this();
System.out.println("Mid的带参数构造器,其参数值:" + msg);
}
}
class Leaf extends Mid
{
static{
System.out.println("Leaf的静态初始化块");
}
{
System.out.println("Leaf的普通初始化块");
}
public Leaf()
{
//通过super调用父类中有一个字符串参数的构造器
super("Java初始化顺序演示");
System.out.println("执行Leaf的构造器");
}
}
public class TestStaticInitializeBlock
{
public static void main(String[] args)
{
new Leaf();
}
}
可以在类中使用“{”和“}”将语句包围起来,直接将其作为类的成员。 类的这种“没有名字”的“成员”,多用于初始化类的字段。
程序设计思想:
类中的静态方法或者属性本质上并不是该类的成员,它只是在这类中寄居不需要累的构造器进行实例化,而非类的需要构造函数实现类实例化
在外部调用静态方法是可与使用类名.方法名的方式,亦可以对象名.方法名。而实例化的只能用对象名.方法名调用。
源程序:
package jxlpacakge;//信1605-3 20163432 张运涛
import java.util.Scanner;
public class Student {
Scanner in=new Scanner(System.in);
static class T//在静态方法中访问类的实例成员
{
String name="zhangyuntao20163432";//实例变量
int num=123456987;
static double score=4582;//静态变量
public static void display()
{
System.out.println("name="+new T().name);//静态方法调用实例变量
System.out.println("score="+score);
}
public static void main(String [] args)
{ T.display();//可以用类直接调用
System.out.println("**************");
T S=new T();
S.display();
}
}}
程序截图:
标签:scan tao integer extends char bool student 重载 ack
原文地址:http://www.cnblogs.com/zyt-bg/p/7697729.html