下面仅为一些枯燥的知识点概括,算是对这些天Java的类的总结
类和对象之间的关系
类是定义,对象是实体
类决定了对象是什么,长什么样,对象便是实例化的类
成员变量
类的属性,特征
Private
private访问权限是指对类的,不是针对对象。也就是说,在函数内部,如果传入的对象是同一个类,可以直接使用 . 运算符来访问(即便是private)。这个细节虽然很小,但是值得注意
多态
一个对象变量允许引用多种对象
Static
用static修饰的成员变量或者方法,在类的装载时,便已装载完毕。也就是说,我们不需要实例化对象,便可以已经可以使用static修饰的变量或者方法了。另外需要注意的是,static变量时整个类共有的一个变量。不论你的对象是多少个,这个类共用那个static变量,所以对其操作需要注意static变量数据的改变
另外这也是为什么我们的main函数需要使用static来修饰,如果没有static 我们没办法实例化我们的对象,static修饰的main相当于程序的入口
继承
实现了代码复用,不需要重复劳动,值得注意的是,继承时,父类有的,你都会继承得到,即便它是private。只是你没有权限访问
抽象类
抽象类更多的是定义一个抽象概念,而非一个具体的概念。注意这里和我们普通的类的区别。两者都有抽象的意思,但是其中却是不同的!
普通的类的抽象是于实体之间的抽象!
抽象类的概念是与细节相对应的抽象!
Example
public abstract Shape{
public void draw(){
}
}
class Circle extends Shape{
public void draw(){
//body
}
}
class circle 这是和实体圆相对的抽象
class shape 这便是和细节相对的抽象
对于圆中的draw 我们知道怎么去draw,但是Shape里面便是细节中的抽象 你没办法想象,只能交给circle去复写这个方法
接口
在Java相当于类,完全的抽象类,类可以出现的地方,接口都能出现
类的设计
成员变量除非有非常充分的理由,否则请用private来修饰。
类的功能要尽可能的单一,不要实现过多不属于你的职能,接触太多的数据,低耦合,高内聚,实现数据和操作分离