类和对象的关系:
类是实体特征的集合,是对对象的抽象,是一种抽象的数据类型。
对象是一种具体的事物是一个具体的概念。
可以说类是个体抽象的集合,对象是具体具体事物的呈现。例如人类是一个类,小明是一个具有人类特征的对象。
类的定义:
1.类的格式
[类的修饰符] class 类名[extends 父类名称][implements 接口名称]{
变量定义及初始化;//声明成员变量
[方法修饰字] 返回值的数据类型方法名称(参数1,参数2,...){
程序语句;//定义成员方法
[return 表达式];
}
}
“class 类名”类的声明部分,类名为合法标识符(字母,数字,下划线_,美元符号$组成数字不能开头)第一个字母通常大写。
“[类的修饰符]“ 四种public(可以被自身包的类使用也可以被其他包的类使用) ,abstract(不能直接产生属于这个类的对象),final(不能被其它类继承),默认为friendly(只能被本包中的其他类使用)
同一类中 | 同一包中 | 不同包中子类对象 | 任何场合 | |
---|---|---|---|---|
private | * | |||
default | * | * | ||
protected | * | * | * | |
public | * | * | * | * |
2.成员变量
格式:[变量修饰字] 变量数据类型 变量1 ,变量2 [=变量初值]....;
public class Dog{
String name;
String color;
String age;
}
变量名首字母小写。
3.成员方法
格式:[方法修饰字] 类型标识符 方法名称(参1,参2....)[throws exceptionList]
{
声明部分;
语句部分;
} 方法不能嵌套
对象的创建使用及清除
创建格式: 类名 对象名;
对象名=new 类名(参数表);
或
类名 对象名=new 类名(参数表);
对象使用:
1.对象数据成员引用
对象名.数据成员名;
2.对象成员方法引用
对象名.成员方法名(实际参数);
对象的清除:
public void finalize(){
方法体;
} 一个类只有一个finalize()方法,没有返回值。
构造方法:方法名和类名相同,当使用new运算符实例化一个对象时,系统为对象创造内存区域并自动调用构造方法初始化成员变量
calss 类名称{
访问权限 类名称(类型1 参数1, 类型2 参数2,....){
程序语句;
。。。//构造方法没有返回值
}
}
例子:
//DogTest 2.java
public class DogTest2{
String name;
String color;
int age;
public DogTest2(String name1,String age1){
name = name1;
color = color1;
age = age1;
}
}
//定义PersonTest类,使用默认构造方法创建对象,打印输出对象
//PersonTest.java
public class PersonTest{
String name;
String address;
int age;
public void setMessage(String name1,String age1){
name = name1;
address = adress1;
age = age1;
}
public static void main(String[] args){
PersonTest p = new PersonTest();
System.out.println(.......);
p1.setMessage(....);
System.out.println(.......);
}
}