JAVA继承和接口


抽象类[虚类]


接口[纯虚类]


----------------------------------------
类的继承
为什么需要继承?
1.为了体现现实中类之间的关系
2.减少代码冗余
3.对父类实现修改和扩展


如何继承?
public class B extends A{}

继承到了什么?
1.继承到了可访问的属性和方法
2.子类可以定义自己特有的属性和方法【必须是子类类型的对象才能调用】
3.子类可以重写[覆盖]从父类继承来的属性和方法【根据对象new的是什么类型,就调用那个类中的方法】


类型的转换
自动转型
强制转型


public > protected > 默认 > private
方法的重写:在子类中修改从父类中继承来的方法
   方法名,参数列表,返回值都必须一样
  访问限定符不能缩小


方法的重载:在同一个类中,有多个同名不同参数列表的方法
   重载和方法的访问限定符,返回值没有关系

多态:相同类型的对象,调用相同的方法,得到的结果可能不一样
            静态多态:方法的重载导致的
            动态多态: 方法的重写导致的

面向对象的三大特征:继承   多态   封装

继承(只能够继承一个父类)

class A
{
	public A(){}
}

class B extends A //继承
{
	public B(){}

}

接口(可以实现多个接口)

public interface A{

	public static final int num=100;//接口中属性是公共常量(public static final)(默认)
	
	public abstract void fun();//接口中方法必须是抽象的,必须是public abstract(默认)
}

class B implements A{

	public void fun() //必须实现接口方法
	{

		System.out,println("my interface");
	}
}
抽象类(只能被继承,不能实例化)

public abstract class A{

	public void fun()
	{

	}
	public abstract void fun1();
}

public class A{}
构造方法
属性[成员变量]
类属性[static变量]
方法[成员函数],必须有方法体

抽象类
public abstract class A{}
  可以定义成员属性和类属性
方法可以有方法体,也可以没有方法体[抽象方法]
有构造方法,也可以重载构造方法,但是不能调用创建对象
抽象类是给子类继承扩展的
抽象类使用extends来继承

接口
public interface A{}
接口中的属性必须是常量,不能是成员变量
接口中的方法必须是抽象方法
接口中的属性和方法的访问限定符必须是public,默认是public
接口没有构造方法
接口的作用就是给子类继承扩展的
接口使用implements来实现

PS:1.Java中的继承是单根继承,一个类有且只有一个父类
public class A{}
public class B extends A{}


  2.接口可以继承多个接口
public interface C{}
public interface D{}
public interface E extends C,D{}

  3.一个类可以实现多个接口
public class F implements C,D{}


  4.一个类可以先继承一个类,在实现多个接口
public class G extends A implements C,D{}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值