让你放弃的,JAVA面对对象3大特征!

来源:互联网 发布:php 验证是否json格式 编辑:程序博客网 时间:2024/05/18 03:22
面向对象(oop)的三大特征:封装、继承、多态、(抽象)
封装的作用:安全
封装的意义:隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。
程序设计的要求:高内聚,低耦合。
封装的实现:public 公共的 protected 受保护的 default 默认的 private 私有的
             类本身     包权限     子父类     其他包
public         √         √         √         √    (所有权限)
protected      √         √         √               (子父类权限)
default        √         √                          (包权限)
private        √                                     (类权限)


get/set方法
private 私有属性一般会提供公共的get/set方法,以便外界对我私有属性进行读写。
get是为了获取属性,要有返回值。(boolean 是 is)
set是为了改变属性,提供参数。
继承是为了实现:代码重用
extends 关键字: 子类 extends 父类
子类继承父类,子类拥有父类的非私有的属性和方法。
java 只允许单继承,(一个孩子只能有一个爹,但一个爹可以有多个孩子),在interface 中可以多继承。
子类不能继承父类的构造方法;
子类在使用自己的构造方法的时候,会先去调用祖先的构造方法,依次到本类为止。
多态:多样化
多态:重载overload、重写override
重写:在子父类之间,子类的方法名、返回值和参数列表同父类一样,但是方法体却不同
重载:在同一个类中,方法名相同,方法的参数类型不同(类型,顺序,个数)


Object 对象类 他是所有java类的父类(根基类)
如果一个类没有继承任何类,这个类就继承了Object类


super 代表父类本身 this 代表当前对象本身


== 和equals的区别
== 可以用来进行基本数据类型值的比较 int i =1;int j=1; i==j;// true
   引用数据类型==比较的是内存地址是否相等。
Person p1 = new Person();
Person p2 = new Person();
p1==p2; // false
equals 用来比较两个对象的内容是否相等;
String s1 = "abc";
String s2 = "abc";
s1.equals(s2);// true









































































































































































原创粉丝点击