Java之面向对象

知识点总结:

一、封装:

            私有属性,把成员变量的访问修饰符声明为private;
            公开方法对属性赋值和取值,声明getXXX() 和 setXXX()方法;

二、继承:

            在java中是单继承关系,但是可以实现多重继承;
            在实例化子类时,先执行父类的构造方法,再执行子类的构造方法;
            子类可以继承父类非私有的属性和方法,不能继承构造方法;
            当父类的方法无法满足子类需要时,子类可以重写父类方法;
            在子类中,使用super关键字表示父类对象,可以用在非静态方法中;
            super()表示父类构造器,只能用在子类的构造器中,并且是在构造器的第一行;
            this代表当前子类对象,可以使用在子类的非静态方法中;
            this()表示子类的构造器,只能用在子类的构造器中,并且是在构造器的第一行;
            不能和super()同时出现;
            当类使用final关键字修饰时,该类不能被继承;
    **重写规则:**

            重写方法的声明部分(返回值类型、方法名、参数列表)要和父类中的方法保持一致;
            重写方法的访问权限要大于等于父类的方法;
            重写方法可以抛出任意的非强制性异常,如果父类方法中抛出了异常,子类中的重写方法抛出异常的范围要小于等于父类;
            当父类的方法使用final关键字修饰时,可以被继承,但不能被重写;
            当父类的方法使用static修饰时,可以被继承,不能被重写,但是可以在子类中重写声明;
            (排除final和static关键字的情况下)
            如果在同包下,子类可以重写父类的非私有的方法;
            不在同包下,子类只能重写父类的public和protected修饰的方法;
            不能被继承的方法,不能重写,例如:构造方法;

三、多态:

            继承;
            方法重写;
            父类引用指向子类对象(向上转型);
            父类引用调用子类重写的方法,指向的是重写方法;

四、抽象类:

            使用abstract关键字修饰的类,即为抽象类;
            抽象类中可以声明普通类的所有成员之外,还可以声明抽象方法;
            含有抽象方法的类一定是抽象类,抽象类中不一定有抽象方法;
            抽象类不能被实例化对象,只能被继承,使用多态的方式获取对象;
            也可以使用匿名内部类的方式创建对象;
            如果一个类继承了抽象类,必须要重写抽象类中的所有抽象方法;
            抽象方法中可以声明构造方法;

五、接口:

            使用interface关键字修饰;
            接口是可以多继承的;
            接口可以被类实现,一个类可以实现多个接口;
            接口是一个完全抽象的抽象类,接口中的方法都是抽象方法(JDK1.7↓);
            接口中不能有构造方法;
            接口中不能声明变量,只能声明常量,默认的声明格式为:public static final int i = 1;
            接口的声明和接口中方法的声明默认都使用了abstract关键字;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值