zoukankan      html  css  js  c++  java
  • 动手动脑

    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();

    }
    }

    1. 所有的静态初始化块都优先执行,其次才是非静态的初始化块和构造函数,它们的执行顺序是:
      1. 父类的静态初始化块
      2. 子类的静态初始化块
      3. 父类的初始化块
      4. 父类的构造函数
      5. 子类的初始化块
      6. 子类的构造函数
      7. 可以在类中使用“{”和“}”将语句包围起来,直接将其作为类的成员。 类的这种“没有名字”的“成员”,多用于初始化类的字段。

    程序设计思想:

    类中的静态方法或者属性本质上并不是该类的成员,它只是在这类中寄居不需要累的构造器进行实例化,而非类的需要构造函数实现类实例化

    在外部调用静态方法是可与使用类名.方法名的方式,亦可以对象名.方法名。而实例化的只能用对象名.方法名调用。

     源程序:

    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();

    }

    }}

    程序截图:

    
    
  • 相关阅读:
    ps背景橡皮擦工具详解
    Application called By IE on Pseudo B/S Mode
    一种B/S模式下基于JAVA反射机制的可伸缩动态加载模块的解决方案
    Compile the latest Kernel(linux3.1rc4) On Ubuntu Plateform
    HttpService & WebService For Flex Develop
    国外的一个flex入门教学~[转]
    HQL略解
    How to build a Flex development platform based on Myeclipse8.6 & Flex4
    基于Pipe的PureMVC Flex框架的多核共享消息技术
    Ninject IOC<一>
  • 原文地址:https://www.cnblogs.com/zyt-bg/p/7697729.html
Copyright © 2011-2022 走看看