zoukankan      html  css  js  c++  java
  • 动手动脑及类的创建

    关于类的调用次数,大体使用静态变量来实现。

    代码:

    package yds;

    import java.util.Scanner;

    class Number{
    static int sum;
    public Number(){
    sum++;
    }
    int Sum(){
    return sum;
    }
    }
    public class duixiangsum {
    public static void main(String[] args){
    Scanner scan=new Scanner(System.in);
    Number a=new Number();
    Number b=new Number();
    Number c=new Number();
    System.out.println("你已经创建了"+Number.sum+"个对象");
    System.out.println("是否继续创建(是,请输入yes,否则输入no) ");
    String flag;
    flag=scan.next();
    duixiangsum dt=new duixiangsum();
    dt.Count(flag);
    }
    public void Count(String flag){
    Scanner scan=new Scanner(System.in);
    duixiangsum dt=new duixiangsum();
    if(flag.equals("yes")){
    Number a=new Number();
    System.out.println("你已经创建了"+Number.sum+"个对象");
    System.out.println("是否继续创建(是,请输入yes,否则输入no) ");
    flag=scan.next();
    dt.Count(flag);
    }else{
    if(flag.equals("no")){
    System.out.println("创建结束");
    System.out.println("共创建了"+Number.sum+"个对象");}
    }
    }
    }

    附,结果截图

    通过这个实例,我简单的了解了静态初始化块的执行顺序的一些基本方法。

        1、静态初始化块只执行一次。

        2、 创建子类型的对象时,也会导致父类型的静态初始化块的执行。

        3、静态方法中只允许访问静态数据。

        4、静态初始化块不需要在main方法中调用,即使没有main方法它也会执行。

        5、如果对类没有进行实例化,初始化块不会执行,但是静态初始化块会执行。

    关于动手动脑,有以下几点的总结:

    关于这个代码无法编译的问题

    我认为,在系统中已经包含了一些基本的构造方法,但是,如果用户再次私自构建同名构造方法,将会与系统产生冲突,此时系统将谦让用户而不提供默认的构造方法。

        在测试过程中,只要在前一个加上参数就会不提醒错误,但是,在运行的时候仍然会有错误提示。此问题待探究后解决。

  • 相关阅读:
    20160205
    20151120
    20151023
    20151023
    20140207
    yum工具介绍
    Linux程序包管理
    Linux任务计划、周期性任务执行
    10 压缩和解压缩工具和bash脚本编程
    9 btrfs文件系统
  • 原文地址:https://www.cnblogs.com/liuxiaojieqqq/p/10116756.html
Copyright © 2011-2022 走看看