Java面向对象 11.30
概述
万物皆是对象
类和对象
类和对象是最基本,最重要的组成单元,对象有以下特点:
*对象都是某个类别的实例
*一切皆为对象,真实世界中的所有事物都可以视为对象
*对象具有唯一性
*对象具有属性和行为
对象或实体所具有的特征在类中表示时称为类的属性
对象执行的操作称为类的方法
类是描述了一组有相同特性和相同行为的一组对象的集合
类的定义
在Java中定义一个类,需要使用 class 关键字、一个自定义的类名和一对表示程序体的大括号
[public] [abstract | final] class 类名 [extends 类名] [implements 接口名] {
.........
返回值类型 方法名称(){}
.........
}
注意:上述语法中,中括号[ ]中的部分表示可以省略,竖线 | 表示或关系,说明可以使用 abstract 或 final 关键字,但是两个关键字不能同时出现。
Java类名的命名规则
public class Person {
String name;
int age;
void tell( ) {
System.out.println(name + "今年" + age + "岁");
}
}
1.类名可以包含数字0—9、美元符号$、下划线_、以及Unicode字符集
2.类名不能为Java中的关键字或者保留字
3.第一个字母大写,如果类名由多个单词组成,则每个单词的首字母都大写
类的组成
*构造器
*成员变量
*成员方法
*静态变量
*静态方法
创建对象
显式创建对象
使用 new 关键字创建对象
类名 对象名 = new 类名( );
调用 java.long.Class 或者 java.long reflect.Constuctor 类的 newlnstance( ) 实例方法
Class Class类对象名称 = Class.forName(要实例化的类全称);
类名 对象名 = (类名)Class类对象名称.newInstance( );
调用对象的 clone( ) 方法
类名对象名 = (类名)已创建好的类对象名.clone( );
注意:使用该方法创建对象时,要实例化的类必须继承java.lang.Cloneable 接口
调用 java.io.ObjectlnputStream 对象的 readObject( )方法
隐式创建对象
*String strName = “strValue”,其中的“strValue”就是一个String对象,由Java虚拟机隐含的创建
*字符串的“+”运算符运算的结果为一个新的String对象
示例:
String str1 = "Hello";
String str2 = "Java";
String str3 = str1 + str2;
个新的String对象
*当 Java 虚拟机加载一个类时,会隐含的创建描述这个类的 Class实例
注意:每个对象都是相互独立的,在内存中占有独立的内存地址,并且每个对象都具有自己的生命周期,当一个对象的生命周期结束时,对象就变成了垃圾,由 Java 虚拟机自带的垃圾回收机制处理