网站建设课设心得,开发app工具,免费加速器看国外网站,360网站推广官网授权商在了解了java的基本数据结构后#xff0c;开始学习java的类。java中的类也是一种数据结构#xff0c;我认为它和C中的结构体挺像。类中可以有属性和方法。类的方法中比较特别的是构造方法。java中类的构造方法要和类名相同#xff0c;且没有返回值。构造方法主要用于为类的对…在了解了java的基本数据结构后开始学习java的类。java中的类也是一种数据结构我认为它和C中的结构体挺像。类中可以有属性和方法。类的方法中比较特别的是构造方法。java中类的构造方法要和类名相同且没有返回值。构造方法主要用于为类的对象定义初始化状态在new一个对象时就会调用构造方法。每个java类都至少有一个构造方法如果没有显式的定义构造方法java编译器会为我们提供一个默认的不带参数的构造方法。构造方法不能够直接调用必须通过new关键字自动调用。在学习构造方法的过程中为了能够看到默认的构造方法使用了jdk提供的工具javap。这个反编译工具在JDK安装目录的bin目录下使用javap反编译工具在控制台下输入javap point(类名javap加载的一个类)就会将类的属性和方法输出。在使用new关键字创建类的实例时主要分为三个步骤即为对象分配内存空间引起对象构造方法的调用并为对象返回一个引用。当使用默认的构造方法初始化对象时系统会默认的初始化对象的属性各个数据类型的默认值是数值-0、boolean-false、char-‘\0’、对象-null。this变量代表对象本身当类中有两个同名变量一个是类的属性一个是方法中的局部变量则用this区分类的属性和局部变量。另外也可以使用this简化构造函数的调用如Point(int n){this.n n;}Point(){this(1);}有了this的特性一个类所有的对象调用的方法在内存中就可以只有一份拷贝尽管在内存中可能有多个对象。但是数据成员在每个对象所在内存中都有一份拷贝。this允许了相同的方法为不同的对象工作。当一个对象调用一个方法时this变量将被设置为引用该方法的特定的类对象。方法的代码接着会与this所代表的对象的特定数据相关联。static关键字在方法的返回值前或者变量的类型前加上static修饰这些方法叫静态方法变量叫静态变量。静态方法和静态变量都属于一个类而不是属于类的对象也就是说它在内存中只有一份拷贝。静态方法和静态变量的可以通过类名直接引用当然也可以通过对象调用静态的方法。如静态方法static void staticMethod(){} 引用方式可以为A.staticMethod()、obj.staticMethod()其中A为类名obj为类的对象。需要注意的是在静态方法中不能够调用非静态的方法和使用非静态的成员变量假如静态方法中使用了非静态的变量或者调用了非静态的方法那么在使用类名引用该静态方法时系统无法知道这些非静态的方法和变量如何处理。final关键字在java中没有define如果要定义常量的话可以使用final来定义。常量在运行的时候不能被修改所以常量需要在定义的时候赋值如final int a 3;另外一种方式是在构造函数中赋初值如果有多个构造函数则需要在每个构造函数中都赋值但是如果某个构造函数中调用了其他的构造函数则需要注意的是要保证只能赋值一次。例如final int a;Point(int n){a 3;}Point(){a 4;this(2);}如果没有this(2)这句上面的代码编译可以通过。如果有了this(2)这句因为在Point()构造函数中调用了Point(int n)这个构造函数而Point(int n)这个构造函数也对常量a赋值了所以相当于对常量a进行了两次的赋值编译就会报错了。为了节省内存通常把常量也声明为static。