Java自学之继承

1、定义:继承允许创建分等级层次的类,就是子类继承父类的特征行为,使得子类对象具有父类实例的方法,
     使得子类具有父类相同的行为。

2、继承的特性:

a、子类拥有父类非priavte的属性、方法;

b、子类可以拥有自己的属性和方法、即子类可以对父类进行扩展;

c、子类可以用自己的方式实现父类的方法;

d、java的继承是单继承,但是可以多重继承;单继承:一个子类只可以继承一个父类;多重继承:A类继承
    B类,B类继承C类,即C类是B类的父类,B类是A类的父类;

e、继承提高了类之间的耦合性(继承的缺点,提高了代码间的联系)

3、extends关键字:类的继承是单一继承,一个子类只能拥有一个父类,extends只能继承一个类;
(1)代码如下:
1 public class A {
2 public A() {
3 System.out.println(“hello world”);
4 }
5 }
6 // B子类继承A父类(extends只能继承一个类)
7 public class B extends A{
8 }
4、implements关键字:implements使类可以继承多个接口,多个接口用逗号分隔;
(2)代码如下
1 public interface A {
2 public void sayA();
3 }
4 public interface B {
5 public void sayB();
6 }
7 // C子类继承A、B多个接口(implements使类可以继承多个接口,多个接口用逗号分隔)
8 public class C implements A,B {
9 }

5、super关键字:用来引用当前对象的父类,实现对父类成员的访问;

6、this关键字:当前对象的引用;

7、final关键字:声明类不能被继承,即最终类,修饰方法不能被子类重写;

a、语法: final class 类名 { 方法、属性 }    
        访问修饰符(public、private、default、protected) final 返回值类型 方法名(参数){ 方法体 }

b、实例变量也可以被定义为 final,被定义为 final 的变量不能被修改;被声明为 final 类的方法自动地声明
    为final,但是实例变量并不是 final;

c、访问修饰符

public——对所有类可见,被声明为 public 的类、方法、构造方法和接口能够被任何其他类访问;

private——在同一类中可见 不能修饰类(外部类),被声明为 private 的方法、变量和构造方法只能被
      所属类访问;

default——在同一包内可见;

protected——对同一包内的类和所有子类可见 不能修饰类(外部类)

d、非访问修饰符

static——用来修饰类方法和类变量;

final——用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,
      修饰的变量为常量,是不可修改的;

abstract——用来创建抽象类和抽象方法;

synchronized、volatile——主要用于线程的编程,synchronized 关键字声明的方法同一时间只能被一
      个线程访问;

8、构造器:子类不能继承父类的构造器(构造方法、构造函数),如果父类的构造器带有参数,子类的构造器
 中必须显示的通过super关键字调用父类的构造器(带参数);
如果父类的构造器不带有参数,不需 要子类显示调用,系统会自动调用。
注意:本文摘自蜡笔小嘻的分享。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值