public class Circle { PRivate static double radius; private static double PI = 3.14159; public void SetTheRadius(double r){ radius = r; } public double GetTheArea() { return PI*radius*radius; }}对象的状态定义为数据区的值,上述例子中的Circle的例子,其中有半径作为它的状态,半径有很多种,可以通过相面方法来改变值。相同类的对象,用公共类来定义,然后可以生成对象,有不同的圆,也就可以设置不同的值。例如1.Class Name: circle1 Data Field:radius = 10;2. Class Name :Circle2Data Field radius = 15:也就是说用上面的圆类生成了两个圆的对象,其中这两个圆的半径分别为10 和 15,不过例子中的类没有main 函数,所以说不能够运行。以后在使用类和对象可以按照下面的构造函数和方法:构造函数的名字和类的名字一样ClassName(parameterName : parameterType) 方法:methodName(parameterName: parameterType) returnType3. 使用构造函数来构造对象
构造函数是一种特殊的方法:1 构造函数的命名和类的名字一样2 构造函数没有返回类型—(void是返回为空)所以不是void 3 创造对象的时候构造函数使用了new操作,构造函数用于初始化对象例如上面的圆的例子public class Circle { private static double radius; Circle(){ radius = 0; }}在上面的例子中的初始化操作为Circle object1 = new Circle();在这个例子中,生成对象的时候调用了new 操作,如果说在上面的Circle()构造前加入了void 此时就变成了方法4通过方法来传递参数
如果要修改每个对象的状态,也就是数据区时,可以通过方法来修改,或者是得到数据。例子class Student {String name; // name has default value nullint age; // age has default value 0boolean isScienceMajor; // isScienceMajor has default value falsechar gender; // c has default value }上述这个关于学生的类,其中的状态就是学生的姓名,年龄,是不是选修科学,性别,然后可以通过方法来修改这些状态,或者得到这些值public void SetTheName(String na){ name = na; }public String GetTheName(){ return name;}其他的状态修改类似,可以按照如下的例子来使用public class ComputeAreaaa { public static void main(String[] args){ Circle object1 = new Circle(); object1.SetTheName("Harker'Circle"); System.out.println("The name of the Cirlce is "+object1.GetTheName()); }}此时看看console 写了什么小结: 这个可以归为一类的问题:我们为了解决某个问题定义了一个类,然后生成了一个对象,其中调用某些方法来修改对象的状态(数据区的值),其实也很像状态量和控制量的关系,一个描述我们遇到的客体,然后另一个量来修改状态,此时也可以想象生活中的例子:TV,电视有个状态是 ON或者是OFF,这两个状态要有某个操作能切换。
5 原始量和引用量的差异
原始类型的数据 比如 int i = 1;对象类型的引用量,比如Circle C,此时里面的数据,比如半径,但是当你将一个变量赋值为另一个数的时候,会有以下的情况:执行c1 = c2 的操作:操作前:操作后:
只是改变了C2所指向的内容。
6使用Java库中的类
可以使用Java库中本来就有的类:1 时间类 java.util.Datepublic class TimeClass { public static void GetTime(){ java.util.Date date = new java.util.Date(); System.out.println("The elapsed time since Jan 1, 1970 is" + date.getTime()+"milliseconds"); System.out.println(date.toString()); }} 2 产生随机数的类
新闻热点
疑难解答