1. 类
类体由变量的声明和方法的定义两部分构成。
1.1 类的声明
class 类名{
类体的内容
}
1.2 局部变量和成员变量
局部变量为方法内定义的变量;
成员变量为类体定义的变量。
class People{
int boy; // 成员变量
float a[];
void f(){
coolean cool; // 局部变量
Student zhangBoy;}
}
1.3 实例变量与类变量
类变量(static变量、静态变量),定义时变量类型前面加上static,除了类变量外其他都是实例变量。
class Dog{
float x; // 实例变量
static int y; // 类变量
}
1.4 成员变量的隐藏
方法中局部变量的名字和成员变量名字相同时,方法就会隐藏成员变量,如果要调用被隐藏的成员变量需要使用this关键字。
class triangle{
float sideA,sideB,sideC,lengthSum;
void setSide(float asideA,float sideB,float sideC){
this.sideA=sideA; // this.sideA 是成员变量定义的
this,sideB=sideB;
this,sideC=sideC;
}
}
1.5 方法
方法声明部分{
方法体的内容
}
1.6 方法重载
方法重载体现功能的多态性,一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,或者是参数的个数不同。
lass Area{
float getArea(float r){
return 3.14f*r*r;
}
double getArea(float x,int y){
return x*y;
}
float getArea(int x,float y){
return x*y;
}
double getArea(float x,float y,float z){
return (x*x+y*y+z*z)*2.0;
}
}
1.7 构造方法
构造方法的名字和它所在类的名字完全相同,而且没有类型,构造方法也可以重载。
class 梯形{
float 上底,下底,高;
梯形(){
上底=60;
下底=100;
高=20;
}
梯形(float x,float y,float h){
上底=x;
下底=y;
高=h;
}
}
1.8 类方法和实例方法
方法类型前面加static修饰的是类方法,不加static修饰的是实例方法。
class A{
int a;
float max(float x,float y){ //实例方法
......
}
static float jerry(){ // 类方法
......
}
1.9 几个值得注意的问题
对成员比变量的操作只能放在方法中;
class A{
int a=20; //合法
folat b;
b=10; //非法
}
实例方法既能对类变量操作也能对实例变量操作,但类方法只能对类变量操作;
实例方法可调用该类中其他方法,类中的类方法只能调用该类的类方法。
2. 对象
2.1 对象的声明
类的名字 对象名字;
2.2 为声明的对象分配变量
使用new运算符和类的构造方法为声明的对象分配变量,即创建对象。
class XiyoujiRenwu{
float height,weight;
String head,ear;
void speak(String s){
System.out.println(s);
}
}
public class Example4_1{
public static void main(String args[]){
XiyoujiRenwu zhubajie,sunwukong; // 声明对象
zhubajie = new XiyoujiRenwu(); // 为对象分配变量
sunwukong = new XiyoujiRenwu();
}
}
2.3 对象操作自己的变量(体现对象的属性)
对象.变量;
2.4 对象调用类中的方法
对象.方法