一:封装:主要对于权限的限制
首先,属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类事物的共性(包括属性和方法)归到一类中,以方便使用。封装是隐藏类的内部实现机制,可以在不影响使用的情况下,改变类的内部结构,同时也保护了数据。且对外部只保留一些对外接口使之与外部发生联系。系统的其他部分之一通过这些接口与之进行交互。也就是说,用户不需要知道对象内部方法的实现细节,但可以根据对象提供的外部接口(对象名和参数)来访问参数
public class StuInfo{
private String name;
private String idNum;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public String getIdNum(){
return idNum;
}
public void setAge( int newAge){
age = newAge;
}
public void setName(String newName){
name = newName;
}
public void setIdNum( String newId){
idNum = newId;
}
}
二:继承
一个累继承另一个类,被继承的为父类,继承的为子类。子类继承父类之后会有父类的所以方法和属性,父类的私有方法是不能被继承的。子类可以重写父类的所有方法。
重写:当父类提供的方法无法满足子类的需求时,子类可以重写父类的方法,实现自己的需求。
// A.java
public class A {
private int i;
protected int j;
public void func() {
}
}
// B.java
public class B extends A {
}
三:多态
多态的三种形式
1、父类做形参
2、父类做返回值
3、接口做形参
父类做形参:
比如说你是一个比如你是一个酒神,对酒情有独钟。某日回家发现桌上有几个杯子里面都装了白酒,从外面看我们是不可能知道这是些什么酒,只有喝了之后才能够猜出来是何种酒。你一喝,这是剑南春、再喝这是五粮液、再喝这是酒鬼酒….在这里我们可以描述成如下:
酒 a = 剑南春
酒 b = 五粮液
酒 c = 酒鬼酒
这里的剑南春、五粮液、酒鬼酒上面的喝酒例子中,酒(Win)是父类,剑南春(JNC)、五粮液(WLY)、酒鬼酒(JGJ)是子类。我们定义如下代码:
JNC a = new JNC( ) ;
对于这个代码我们非常容易理解无非就是实例化了一个剑南春的对象嘛!但是这样呢?
Wine a = new JNC();