随第6章JaVa中类、对象、接口及包的概念 出现这个错误的原因是类方法不能访问实例变量,如果 把类的定义改为 class anIntegerNamedX i static intx static public int xo& return x; static public void set X(int newX)i X= newX: 2
第6章 Java中类、对象、接口及包的概念 ^ 出现这个错误的原因是类方法不能访问实例变量,如果 把类的定义改为 class AnIntegerNamedX { static int x; static public int x() { return x;} static public void setX(int newX) { x = newX;} }
第6章Java中类、对象、接口及包的概念 H 类就可以成功编译了: myX. x=2 anotherⅩx=2 实例成员和类成员之间的另外不同点是类成员可以在类 本身中访问,而不必实例化一个类来访问类成员
第6章 Java中类、对象、接口及包的概念 类就可以成功编译了: myX.x = 2 anotherX.x = 2 实例成员和类成员之间的另外不同点是类成员可以在类 本身中访问,而不必实例化一个类来访问类成员
第6章Java中类、对象、接口及包的概念 H 下面再对上面的代码进行修改: A setX(1) System. out. println (AX=+AXO 这里我们不用实例化类对象myX和 another就可以 直接从类A中设置x并输出ⅹ。这样同样可以得到类变量 x的值
第6章 Java中类、对象、接口及包的概念 下面再对上面的代码进行修改: ... A.setX(1); System.out.println("A.x = " + A.x()); ... 这里我们不用实例化类对象myX和anotherX就可以 直接从类A中设置x并输出x。这样同样可以得到类变量 x的值
第6章Java中类、对象、接口及包的概念 H ● abstract:说明一个方法是抽象方法,即该方法 只有方法说明而没有方法体。抽象方法的实现须由该 方法所在类的子类来实现。如果一个类包含一个或多 个抽象方法,则该类必须为抽象类。抽象类不能被实 例化。例如: class Shape abstract void draw; 1 该例中的说明方法draw(为抽象方法
第6章 Java中类、对象、接口及包的概念 ● abstract: 说明一个方法是抽象方法,即该方法 只有方法说明而没有方法体。抽象方法的实现须由该 方法所在类的子类来实现。如果一个类包含一个或多 个抽象方法,则该类必须为抽象类。抽象类不能被实 例化。例如: class Shape{ abstract void draw();} 该例中的说明方法draw()为抽象方法
随第6章JaVa中类、对象、接口及包的概念 ● final: final方法类似于常量的定义,它说明一 个方法为终极方法,即它不能被子类重载。说明为 final的方法往往与关键字 private一起使用,避免出错。 例如: private final meth final
第6章 Java中类、对象、接口及包的概念 ● final:final方法类似于常量的定义,它说明一 个方法为终极方法,即它不能被子类重载。说明为 final的方法往往与关键字private一起使用,避免出错。 例如: ... private final meth_final() {...}