类与对象
类声明
[public] [abstract] [final] class 类名 [extends 父类] [implements接口名称列表]{
数据成员声明及初始化;
方法声明及方法体;
}
声明和创建对象
声明
类名 引用对象名;
创建
如:
aclock = new Clock;
数据成员(表示对象状态)
声明
[public/protected/private][static] [final] [transient] [volatile] 变量名1[= 初始值],变量名2[= 初始值],…;
①没有static修饰的数据成员为实例变量
访问实例属性的值
格式:
实例名.实例变量名.
②类变量(静态变量<有static修饰>)
整个类中只有一个值,类初始化同时被赋值
引用格式:
类名/实例名.类变量名
方法
① 命名:第一个单词为动词(全部小写)第二单词开始每个单词首字母大写
如:getName,getDate…
②调用:
class Hello{
void sayHello{
System.out.println("Hello,I'm jane");
}
}
public class Test1{
public static void main(String args[]){
Hello hello = new hello();//声明Hello类的实例对象
hello.sayHello(); //调用对象hello的sayHello方法
}
}
③方法重载:在一个类中可以有相同名称具有不同的参数列表的方法
④
(一)构造方法:(完成对对象的初始化)不是方法声明
(1)方法名和类名相同
(2)不定义返回类型
(3)通常声明为public
(4)可以拥有任意多个参数
(5)总伴随new操作一起调用
(6)没有显示声明构造方法,系统会提供默认构造方法,一旦构造就不会使用默认的构造方法
(6)没有显示调用
可以使用this关键字在一个构造方法中调用另外 的构造方法;
通常用参数个数比较少的构造方法调用参数个数 最多的构造方法
public BankAccount() {
this("", 999999, 0.0f);
}
public BankAccount(String initName, int initAccountNumber) {
this(initName, initAccountNumber, 0.0f);
}
public BankAccount(String initName, int initAccountNumber, float initBalance){
ownerName = initName;
accountNumber = initAccountNumber;
balance = initBalance;
}
final变量的初始化
- 实例变量和类变量都可被声明为final;
- final实例变量可以在类中定义时给出初始值,或者在每个构造方法结束之前完成初始化;
- final类变量必须在声明的同时初始化。
(二)对象回收
(1)当一个对象在程序中不再被使用时,就成为一个无用对象
将在必要时被自动回收
(2) Java运行时系统通过垃圾收集器 1周期性地释放无 用对象所使用的内存。
(3)Java运行时系统会在对对象进行自动垃圾回收前, 自动调用对象的finalize()方法2。
⑤方法返回值:
方法返回到调用它的代码处三种情况:完成方法所有语句,return语句,抛出异常;
方法中未声明void必须有:return+返回值;返回值的类型必须和方法声明的类型一致
1. 类方法:(声明中有static)
-
不能被声明为抽象的。
-
可以类名直接调用,也可用类实例调用。
2.实例方法(声明中没有static)
对象名.方法名([参数列表])
值传递:参数类型为基本数据类型时
引用传递:参数类型为对象类型或数组时
<对象名> 为消息的接收者
类的访问权限控制
| 类型 | 默认 | public |
|---|---|---|
| 同一个包中类 | √ | √ |
| 不同包中的类 | × | √ |
类的成员访问权限控制
public 任何方法访问
protected 同类及子类的方法访问
private 同类的方法访问
默认的(无修饰) 同一个包内的访问
4967

被折叠的 条评论
为什么被折叠?



