面向对象三大特征:继承、封装、多态 (泛型)

封装封装是一个概念,它的含义是把方法、属性、事件集中到一个统一的类中,并对使用者屏蔽其中的细节问题。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。

比如我们将一个房子看做是一个对象,里面的漂亮的装饰,如沙发、电视剧、空调、茶桌等等都是该房子的私有属性,但是如果我们没有那些墙遮挡,是不是别人就会一览无余呢?没有一点儿隐私!就是存在那个遮挡的墙,我们既能够有自己的隐私,而且我们可以随意的更改里面的摆设而不会影响到其他的。但是如果没有门窗,一个包裹的严严实实的黑盒子,又有什么存在的意义呢?所以通过门窗别人也能够看到里面的风景。所以说门窗就是房子对象留给外界访问的接口。

使用封装的好处:

1、类内部的结构可以自由修改。

2、隐藏信息,实现细节。

3、可以对成员进行更精确的控制。(如果输入有问题的时候,可以在调用的时候进行判断。)

4,封装确实可以使我们容易地修改类的内部实现,而无需修改使用了该类的客户代码。

一般我们写的类的属性就是用的封装的思想,里面的属性都是private,比如:

public class Husband {  
     private String name ;  
     private String sex ;  
     private int age ;  
     private Wife wife; 
} 

然后外部通过getter和setter方法去访问这个类里面的数据,

Husband husband=new Husband();

husband.setName(xx);//更改Husband类里面的name的时候用,

husband.getName();//获得husband对象里面的name

01.public class Husband {  
02.      
03.    /* 
04.     * 对属性的封装 
05.     * 一个人的姓名、性别、年龄、妻子都是这个人的私有属性 
06.     */  
07.    private String name ;  
08.    private String sex ;  
09.    private int age ;  
10.    private Wife wife;  
11.      
12.    /* 
13.     * setter()、getter()是该对象对外开发的接口 
14.     */  
15.    public String getName() {  
16.        return name;  
17.    }  
18.  
19.    public void setName(String name) {  
20.        this.name = name;  
21.    }  
22.  
23.    public String getSex() {  
24.        return sex;  
25.    }  
26.  
27.    public void setSex(String sex) {  
28.        this.sex = sex;  
29.    }  
30.  
31.    public int getAge() {  
32.        return age;  
33.    }  
34.  
35.    public void setAge(int age) {  
36.        this.age = age;  
37.    }  
38.  
39.    public void setWife(Wife wife) {  
40.        this.wife = wife;  
41.    }  
42.}  


继承:如果两个类存在继承关系,则子类会自动继承父类的方法和变量,在子类中可以调用父类的方法和变量,如果想要在子类里面做一系列事情,应该放在父类无参构造器里面。java中,只允许单继承,也就是说一个类最多只能显示地继承于一个父类。但是一个类却可以被多个类继承,也就是说一个类可以拥有多个子类。

java类不允许多继承。原因:

1,当不同的父类存在相同属性方法的时候,无法判定调用哪个。

2,由于子类实例化需要调用父类的无参构造器,无法识别是那个父类的构造器,

1.子类继承父类的成员变量

  当子类继承了某个类之后,便可以使用父类中的成员变量,但是并不是完全继承父类的所有成员变量。具体的原则如下:

1)能够继承父类的

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值