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

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

    代码:

    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、如果对类没有进行实例化,初始化块不会执行,但是静态初始化块会执行。

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

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

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

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

  • 相关阅读:
    .NET Interop 工具集
    关于正弦波的算法
    Windows Phone 系列 本地数据存储
    Xaml cannot create an instance of “X”
    Windows Phone 系列 使用 MVVM绑定时无法获取当前值
    Windows Phone 系列 应用程序图标无法显示
    Windows Phone 系列 WPConnect无法上网的问题
    Windows Phone 系列 使用 Windows Phone 保存铃声任务
    WP7.5提交应用
    Windows Phone 系列 动态删除ObservableCollection
  • 原文地址:https://www.cnblogs.com/yandashan666/p/9826011.html
Copyright © 2011-2022 走看看