封装
封装,顾名思义,就是将一个东西全部都存放到一个空间里进行封存,比如我们的电脑机箱,我们把CPU,硬盘等等封装到主机里面,等我们使用的时候直接进行调用,这就是封装。封装有几个特性:安全,将变化隔离,操作简单,可以重复使用。
封装的原则:把该隐藏的隐藏,该暴露的暴露。
首先封装,我们就要学会一个修饰符 private 私有的 ,这是把属性或者方法私有化只能由自己来访问。
我们先来定义不使用private修饰符的类:
public class Dog(){
public String name;
public int age;
}
然后我们创建Dog对象,进行赋值。
public class DogTest {
public static void main(String[] args) {
Dog d = new Dog();
d.age = 2;
d.name = "哈士奇";
}
}
我们会发现完全没有问题。
接下来我们使用private进行操作:
public class Dog(){
private String name;
private int age;
}
我们接着使用刚刚的创建对象:
public class DogTest {
public static void main(String[] args) {
Dog d = new Dog();
d.age = 2;
//报错
d.name = "哈士奇";
//报错
}
}
你会惊奇的发现程序竟然报错了,这是为什么呢?是因为我们对类里面的属性进行了私有化,相当于我们对于这两个属性装进了机箱,我们在外界就看不到这两个属性,何谈访问他呢?
所以我们就有了get set方法。
代码如下:
public class Dog {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
然后我们就可以在创建的对象中来获取和修改他的值
代码如下:
public class DogTest {
public static void main(String[] args) {
Dog d = new Dog();
d.setAge(10);
//set方法设置值
d.setName("哈士奇");
//set方法设置值
}
}
继承
继承,字面意思就是一个东西继承另一个东西,具象化到我们人身上来说,儿子继承父亲的遗产,就是继承。而在JAVA中我们所指的继承指的是一个子类继承一个父类,继承父类里的所有属性和方法,父类也叫做超类,子类也叫做基类。
怎么继承呢?我们就要使用到extends关键字了
首先我们要顶一个父类
代码如下:
public class Father{
public int money;
}
然后我们定义一个子类进行继承。
代码如下:
public class Son extends Father{
}
然后我们创建Son对象:
代码如下:
public class SonTest {
public static void main(String[] args) {
Son s = new Son();
s.money = 100000;
}
}
我们可以看到,子类里面我们并没有定义这个money属性值,那么这个东西是哪里来的呢?因为我们继承了父类,同时继承了父类的属性和方法,所以我们也可以调用父类中所有的属性和方法。这就是继承。
接口
类不仅可以继承父类,也可以继承接口,接口是抽象的,里面主要有一些抽象方法。我们一般叫这个接口为接口的实现类。怎么实现接口呢?我们使用implements来继承接口。
代码如下:
public interface Test01{
void Test();
//名为Test的抽象方法
}
接着我们用son类来实现这个接口:
public class Son implements Test04 {
@Override
public void test() {
System.out.println("抽线方法重写");
}
}
多态
多态是基于继承之上的,我们封装的方法能在其他已经继承父类或者接口的子类对象里能直接调用父类里的方法和属性,我们就把这个叫做多态。其实哦我们前面已经用过多态。我们接下来就来看看:
public class Father{
public int money;
}
然后我们定义一个子类进行继承。
代码如下:
public class Son extends Father{
}
然后我们创建Son对象:
代码如下:
public class SonTest {
public static void main(String[] args) {
Son s = new Son();
s.money = 100000;
}
}
跟我们继承的例子一样,我们在子类创建的对象中能够调用父类的方法,这就是简单的多态。