iGEM赛前准备06——JAVA浅尝
作者:互联网
面向对象语言的三大特性:封装、继承、多态
确切地说,那些没有声明成static的部分,才是对象的原型。
(static的被称为类变量和类方法,由属于该类的所有对象共享)
对象中的变量,称为“属性”或"实例变量"。
实现各种行为的过程和函数,称为"方法"。
创建对象实例
如果不使用new的话,只有对象的引用(也就是指针)而没有分配内存空间。
Student jolin = new Student();
Student jolin = new Student("Jolin","female",160,21);//构造函数
类的继承
class 子类名称 extends 父类名称
Java子类不能继承父类的构造函数。
重写(或覆盖):即子类中的同名函数会取代父类的实例方法。
不过,对于父类中的类方法,子类想要覆盖它必须也将该同名函数定义为类方法来取代它,称为“隐藏”。
隐藏父类的成员变量
只要变量名称相同,就算数据类型不同,也一样可以隐藏父类的成员变量。
如何在子类中,使用父类的构造函数、被重写的方法、被隐藏的成员变量?
super.xxx(父类中的函数名)
接口
只有常量和抽象方法(只有声明,没有实现)。
写法:
IArea是一个接口,类使用implements实现接口。
接口也可以不止一个,用逗号分隔。
常量类型: final
interface IArea{
final double PI = 301415926;
void area();
}
class Circle implements IArea{
public void area(){
//计算圆面积
}
}
接口也可以继承。
在Java中,类不允许多重继承(表示父类不止一个),但却允许接口的多重继承。
接口一定是抽象类。
抽象类
除了有抽象方法,也可以有属性(变量)和操作。
写法:
abstract class Account{
private string id;
private double amount;
public abstract void calInterest();//抽象方法
double getBalance(){...};//抽象类中也可以有操作
}
抽象类可以用来作为数据类型,声明引用子类的对象变量。
因为父类的对象变量可以引用子类的对象。(也就是父类的指针可以指向子类吧。)
比如:
Account s2 = new SavingAccount("002-10-333-12",0.02);
Java可以同时继承抽象类且实现接口
class A extends B implements C
常量类
避免继承,防止子类访问和重写
final class
嵌套类
嵌套类的特点
- 成品和零件的关系
- 嵌套类也是外层类的成员
- 拥有相同的访问权限
在Java程序文件中只允许有一个public的类,而且程序文件名需与此类名相同。
匿名嵌套类,通常用于Java的Swing开发和Android接口组件的事件处理。
使用类继承来实现多态
动态绑定
多个子类实现同一抽象方法,在调用时根据对象的类型决定实际调用的方法。
包
标签:06,变量,子类,接口,浅尝,Java,JAVA,抽象类,父类 来源: https://blog.csdn.net/weixin_45859596/article/details/120243108