java-面向对象

面向对象

类与对象

类时构造对象的模块,由类构造对象的过程称为创建类的实例;

我们可以将类想象成面包机,将对象想象成面包;

用java编写的所有代码都位于某个类中。

类之间的关系

 对象的主要特性

关键字static

(1)static修饰的方法是类的方法,可以通过类名.方法名直接引用,不需要再创建一个类实例去引用;

(2)static修饰的变量是类的变量,可以通过类名.变量名直接引用,不需要再创建一个类实例去引用;

(3)static代码块俗称静态代码块,静态代码块里的代码只执行一次并且在类初始化时执行。

静态域资源在类初始化的时候加载,非静态域资源在创建类实例时加载,即静态域的资源早于非静态域的资源加载。

a.静态方法不可以引用非静态资源;

b.非静态方法可以引用静态资源;

c.静态方法里可以引用静态资源。

抽象类与接口

抽象类

作用

用于派生其他类的基类,包含一些通用的方法和属性

特点

1)一个抽象类可以没有抽象方法,但是包含一个或多个的类必须声明为抽象类

2)抽象类不能构造自身类的实例对象,一般由抽象类声明的变量指向其具体的子类实例对象

强制类型转换

将一种类型强制转换成另一种类型

栗子1,基本数据类型的转换

栗子2,引用数据类型的转换

将一个类的对象引用强制转换成另一个类的对象引用

类型转换的原因

暂时忽略对象的实际类型,使用对象的全部功能

将一个子类对象引用赋给超类变量,编译器是允许的,

将一个超类对象引用赋给子类变量,必须进行类型转换才能通过运行时检查

继承

子类继承父类,意味着子类可以继承父类的实例变量和方法,另外,子类可以加入自己的实例变量和方法,

也可以覆盖来自父类的方法,父类的实例变量无法被覆盖是因为不需要,因为父类没有定义任何特殊行为,

子类可自行设定从父类继承的实例变量。

原文地址:https://www.cnblogs.com/marton/p/11219741.html