在本周,我学习了java中的类与对象,理清了类的基本概念以及学会了如何使用类。把类比作汽车设计图,那么由这个图纸设计出来的若干个汽车就是按照该类生产出的“汽车对象”。
在第6章中,我通过圆柱体类Cylinder的例子,学会了创建对象、修改对象、调用对象的方法以及参数的传递。方法不只可用来传送一般的变量,也可以用来传递数组,但其中在定义一维和二维数组时还是有些区别的,比如用参数array接收一维数组:
class LeastNumb{
int[] least(int[]array) {
可以用int[]形式接收,要求返回,
class LeastNumb{
public void least(int[]array) {
也可以用public void形式接收。
int [][]transpose(int[][]array){
但二维数组有两个[],就不能使用public了。此外,我还了解了this的用法,如果要强调“对象本身的成员”,可以在成员名前加this关键字。
认识了java语言类的基本概念和类的简单使用方法,在第7章又进一步学习java语言类的特性。如以下是我对本章内容概述:
- 用修饰符 private 修饰的类成员称为类的私有成员,私有成员无法从该类的外部访问到,而只能被该类自身访问和修改,而不能被任何其他类,包括该类的子类来获取或引用;如果在类的成员声明的前面加上修饰符public,则该成员为公共成员,表示该成员可以被所有其他的类所访问。
- 方法的重载是指在同一个类内定义相同名称的多个方法,这些同名方法或者参数的个数不同或者参数的个数相同但类型不同,则这些同名方法便具有不同的功能。
- 构造方法可视为一种特殊的方法,它的主要功能是帮助创建的对象赋初值。
- 构造方法的名称必须与其所属的类名完全相同,且不能有返回值。
- 从某一构造方法内调用另一构造方法,必须通过this()语句来调用。
分享一道例题:
class PER{ private String name; private int age; public PER(String name,int age) { this.name=name; this.age=age; } public PER compare(PER p) { //compare可以随便换 if(this.age>p.age) return this; else return p; } } public class App7_12{ public static void main(String[]args) { PER p1=new PER("张三",20); PER p2=new PER("李四",22); PER p3=p1.compare(p2); if(p3==p1) System.out.println("张三年龄大"); else System.out.println("李四年龄大"); } }
其中p3是p1和p2比较的结果,在p1.compare(p2)中p1表示前面的this,p2表示前面的p,再通过各种返回得到最终比较结果。在我弄懂这道题后,内心是非常震撼的!
以上是我本周学习成果,期待在下周学习中能够有新的收获!