Java复习

Java

类和对象

1.类和对象的关系

类(class):具有相同或相似性质的对象的抽象。忽略事物的非本质特征,只注意与当前目标有关的本质特征。
对象的抽象是类,类的实例是对象

2.类的定义及访问

2.1 类的定义

类的修饰符有:public、 abstract、final和friendly,默认方式是friendly

  1. public: 将一个类声明为公共类,可被任何对象访问;
  2. abstract: 将一个类声明为抽象类,没有实现的方法,需要子类实现方法;
  3. final: 最终类,不能被继承;
  4. friendly: 只有在相同包中的对象中才能使用。
package TankWar;

public class Double_Game implements Runnable{
	public void run() {
		try {
			Method.double_game();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
}
2.2成员变量的定义

成员变量:指类的一些属性定义,标志类的静态特征
权限修饰符有:public、private、protected、default(一般省略)

  1. public: 公有类型,省略时默认有public,可以被外部对象访问;
  2. private: 私有类型,只允许在类内部的方法中使用,要用外部访问,需要通过构造函数间接访问;
  3. protected: 受保护类型,可被类自身及子类访问, 即使子类在不同的包中也可以访问;
  4. default: 不加任何的修饰符,通常称为“默认访问权限”或“包访问权限”,只允许在同一个包中访问。
2.3方法的定义

修饰符:public、private、protected、final、static、synchronize

final: 该方法不能重载;
static: 不需要实例化就能使用的方法;
synchronize: 同步修饰符,多线程编程中,用于在运行前,对方法加锁,防止其他线程访问,运行结束后解锁。

2.4方法的参数传递
  1. 值传递
    将参数值复制为子程序的参数,对子程序参数的改变不影响调用子程序的参数。
  2. 引用传递
    将参数的引用传递给子程序的参数,对子程序参数的改变会影响到调用子程序的参数。

3. 类的实例化

  1. 创建对象
Tank ene;                       //声明对象
ene = new Tank(x, 31,dir,Group.Enemy, tf);        //创建对象
  1. 对象成员的使用
    通过运算符"."实现对变量和方法的调用。
    变量和方法可以通过设定访问权限来限制其他对象对他的访问

ene.setIndex(tf.EnemyId++);

  1. 对象资源的回收
    Java技术提供了垃圾收集器,当Java虚拟机处于空闲循环时,垃圾收集器会自动检查每一块分配出去的内存空间,然后自动回收每一块可以回收的无用的内存块,有效地防止了内存泄漏的出现,并极大可能地节省了宝贵的内存问题。

4. 构造方法

参考c++

5. 类的封装

封装目的是增强安全性和简化操作。

6. 类的继承

Java中不支持类之间的多重继承,及不允许一个子类继承多个父类。

6.1 继承的实现

类的继承
如果缺省extends,则该类是java.lang.Object的子类。子类可以继承父类访问权限为public、protected、default的成员变量和方法,但不能继承访问权限为private的。

6.2 方法重写

又叫方法覆盖,指在子类中重新定义父类中已有的方法。
条件:

  1. 方法名、参数和返回值完全相同;
  2. 访问控制访问(public, protected, private, default)不能被缩小;
  3. 抛出的异常不能被扩大。
6.3 this()和super()的使用

this():this()方法代表一个构造方法对其他构造方法的调用。this()必须放在构造方法的第一行。
super:当一个子类调用super()时,它调用它的直接超类的构造方法。super()必须是子类构造方法中的第一个执行语句。

this与this()、super与super()
this和super指的是引用对象;this指引用本对象,super指引用对象的父类;
举例:this.print(); super.print();
this()和super()指调用构造方法;this()指调用本类的构造方法;super()指调用父类的构造方法;
举例:this(); super();

6.4 finalize()方法的使用

在对对象进行垃圾收集前,Java运行时系统会自动调用对象的finalize()方法来释放系统资源。
finalize()方法是在java.lang.Object中实现的,在用户自定义的类中,它可以被覆盖,但一般在最后要调用父类的finalize()方法来消除对象的所有资源
finalize()方法必须按以下方式声明。

protected void finalize() throws throwable()
{
	......
	super.finalize();
}

7. 类的多态

多态是指一个方法只能有一个名称,但可以有多个同名的方法。
多态性:不同的对象收到同一消息可以产生不同的结果。

参考资料:
https://www.cnblogs.com/sunyubin/p/9721873.html
《Java程序设计与项目案例教程》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值