1.类 class 类名{类体的内容}面向对象语言编程的三个特性:封装性、继承、多态。类声明的变量被称作对象变量,简称对象
类的定义包括类声明和类体。class为关键字用来定义类。例如:class People和class 植物都是类声明,类的名字要符合标识符规定。(如果类名为拉丁字母,那么名字的首字母要为大写字母,如Hello、Time;类名最好要容易识别)
2.类体:类声明之后的一对大括号{ }以及它们之间的内容称为类体,大括号之间的内容称为类体的内容。抽象的关键是抓住事物的两个方面:属性和行为变量的声明:用来存储属性的值,方法的定义:可以对类中声明的变量进行操作
3.类体中的内容可以分为两部分:变量的声明以及方法的定义。方法的定义包括:方法头和方法体 方法头{方法体的内容}
4.方法体中需要注意的是“在方法体中声明的变量和方法的参数称为局部变量,局部变量”局部变量和类的成员变量不同,局部变量只在方法内有效,而且与其声明的位置有关。(啥时候声明啥时候起作用)
注意要区分好成员变量和局部变量:如果他们的名字相同,那么成员变量被隐藏,它暂时失效。如果需要使用被隐藏的成员变量,那么需要用到关键字“this”;局部变量没有默认值,成员变量有。例题P56不可以用没有定义值的局部变量来计算。成员变量的默认值为0
5.类的UML图 P57的4.2.6
6.构造方法(1)如果没有编写构造方法,那么就默认构造方法为leader(){ }(2)构造方法没有类型,void print(int a,int b)和int print()都不是构造方法。见书本P58
7.创建对象:对象的声明一般格式为:的名字 对象名字;对象的使用:对象.变量/方法
8.对象的引用与实体:例如如下的赋值语句 p1=p2;将p2的引用赋给了p1.可以见P65页的例题4_4
9.参数传值:方法的参数是局部变量,调用该方法时候这个参数才有作用。参数被分配空间以及要求调用者向参数传递值。可见P69例子6
10.类的组合和复用:一个对象a组合了对象b,那么对象a就可以委托对象b调用其方法。P72例题8(记得打一下)
11.实例成员和类成员:类变量有用static声明,我们日常见的变量都是实例变量。实例方法不仅仅可以操作实例变量也可以操作类变量。有static声明的类变量可以和其他类共享。
12.方法重载:要满足其中的条件: 参数的个数不同;参数个数相同,但参数列表中对应的某个参数的类型不同
例如:float hello(int a,int b)和float hello(long a,int b)以及 double hello(int a,int b)和float hello(int a,int b)
13.重载出现歧义见P83的4.8.2
14.使用this关键字 :this可以出现在实例方法以及构造方法中但是不可以出现在类方法中。P85
如果实例成员变量的名字和局部变量的名字相同时,成员变量前面的this不可以去掉或者类名.不可以去掉。为了区分
15.如果一个类想使用和它不在同一个包中的那么就需要用import语句。
16.访问权限:public(公共)、protected(保护)、private(私有)。
私有变量/方法:别的类不可以访问
公有变量/方法:其他类可以访问
友好变量/方法:不用public(公共)、protected(保护)、private(私有)修饰的就为友好的~只要同一个包的类都可以访问
保护变量/方法:只要同一个包的类都可以访问
17.对象数组:创建以及使用数组可以见P96 stu[0]=new student();表示的是使用第一个元素。
18.P100开始的一个例题需要去看!!!1