zoukankan      html  css  js  c++  java
  • 类与对象

     类与对象

    1、以下代码为何无法通过编译?哪儿出错了?

     

    截图:

    错误原因:构造方法与类名相同,系统已经由一个默认构造函数,给他设置一个形参即可。

    2、使用上页幻灯片中定义的类,以下代码输出结果是什么?

     

    请依据代码的输出结果,自行总结Java字段初始化的规律。

    运行结果:

    规律:初始化有两块:静态初始化和实力初始化。执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。执行类的构造函数。

    3、当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。

    请自行编写示例代码验证以上结论。

    代码:package hhhh;

    class StaticDemo{

    static int x;//静态变量x

    int y;//实例变量 y

    static public int getX()

    {

    return x;

    }

    static public void setX(int newX)

    {

    x=newX;

    }

    public int getY()

    {

    return y;

    }

    public void setY(int newY)

    {

    y=newY;

    }

    }

    public class ShowDemo {

    public static void main(String[] args)

    {

    // TODO Auto-generated method stub

    StaticDemo pro=new StaticDemo();

    System.out.println("静态变量x="+StaticDemo.getX());

    System.out.println("实例变量y="+pro.getY());//false

    StaticDemo a=new StaticDemo();

    StaticDemo b=new StaticDemo();

    a.setX(1);

    a.setY(2);

    b.setX(3);

    b.setY(4);

    System.out.println("静态变量a.x="+a.getX());

    System.out.println("实例变量a.y="+a.getY());

    System.out.println("静态变量b.x="+b.getX());

    System.out.println("静态变量b.x="+b.getY());

    }

    }

  • 相关阅读:
    设计模式-外观模式
    多线程面试笔试题-1
    final 关键字
    java 继承 初始化顺序
    java内部类
    Python-面向对象-静态方法
    接口自动化测试框架搭建
    使用yaml设计测试用例进行单接口测试
    数据驱动测试--对excel文件的操作
    TCP协议详解
  • 原文地址:https://www.cnblogs.com/jingjing0629/p/4887669.html
Copyright © 2011-2022 走看看