封装、抽象

封装

什么是封装?

类的封装,是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的内部信息,而是通过该类所提供的方法来实现对内部信息的操作访问。

那封装有什么作用

为了不出现一些不合理的代码,对类的变量访问做一些限定,不允许外界随意访问,这就需要实现类的封装

在写代码中,我们将类中的属性私有化使用private关键字,只能在它的类中被访问。

public修饰公共方法,其中包括get和set方法(

外部通过get方法调用该属性,所以需要返回值,set方法是外部对该属性赋值,就不需要返回值

public class Animal {
String name;
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;
}

@Override
public String toString() {
return "Animal{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}

 


测试类
public static void main(String[] args) {
Cat cat = new Cat();
cat.setName("妞妞猫");
cat.setAge(1);
cat.eat();
System.out.println("名字"+cat.getName()+"年龄"+cat.getAge());
}

 

抽象

什么是抽象类 ?? 我们先来了解一下字面意思。

抽线:众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程

那么我们了解完抽线是什么,在来看一些java中的抽象

抽象类:当一个类中包含了抽象方法,那么该类也必须使用abstract关键字来修饰,这种使用abstract关键字的类就是抽象类。

抽象类的特点:

成员变量:既可以有变量,也可以有常量

成员方法:既可以抽象方法,也可以有非抽象方法

构造方法:可以有构造方法

抽象的格式:

 

 案例:

public abstract class Animal {
String name;
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;
}

@Override
public String toString() {
return "Animal{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}

子类:

public class Cat extends Animal{
public void eat(){
System.out.println("猫吃东西");
}
}

测试类:

    public static void main(String[] args) {
Cat cat = new Cat();
cat.setName("妞妞猫");
cat.setAge(1);
cat.eat();
System.out.println("名字"+cat.getName()+"年龄"+cat.getAge());
}
}

 

 

    

 

posted @ 2022-06-12 13:40  一位程序袁  阅读(32)  评论(0编辑  收藏  举报