java学习笔记

类与对象

类声明

[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变量的初始化

  1. 实例变量和类变量都可被声明为final;
  2. final实例变量可以在类中定义时给出初始值,或者在每个构造方法结束之前完成初始化;
  3. final类变量必须在声明的同时初始化。

(二)对象回收
(1)当一个对象在程序中不再被使用时,就成为一个无用对象
将在必要时被自动回收
(2) Java运行时系统通过垃圾收集器 1周期性地释放无 用对象所使用的内存。

(3)Java运行时系统会在对对象进行自动垃圾回收前, 自动调用对象的finalize()方法2

⑤方法返回值:
方法返回到调用它的代码处三种情况:完成方法所有语句,return语句,抛出异常;
方法中未声明void必须有:return+返回值;返回值的类型必须和方法声明的类型一致
1. 类方法:(声明中有static)

  • 不能被声明为抽象的。

  • 可以类名直接调用,也可用类实例调用。

2.实例方法声明中没有static
对象名.方法名([参数列表])
值传递:参数类型为基本数据类型时
引用传递:参数类型为对象类型或数组时
<对象名> 为消息的接收者

类的访问权限控制
类型默认public
同一个包中类
不同包中的类×
类的成员访问权限控制

public 任何方法访问
protected 同类及子类的方法访问
private 同类的方法访问
默认的(无修饰) 同一个包内的访问


  1. 自动扫描对象的动态内存区,对不再使用的对象 做上标记以进行垃圾回收
    作为一个后台线程运行,通常在系统空闲时异步 地执行。 ↩︎

  2. 在类java.lang.Object中声明,因此 Java中的每一 个类都有该方法: protected void finalize() throws throwable
    用于释放资源。
    类可以覆盖(重写)finalize()方法。
    finalize()方法有可能在任何时机以任何次序执行。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值