java小白自学笔记——Day7

写在前面———本篇主要讨论的是Java中的抽象类和接口技术

1.抽象类

    1)概念

       通常在编程语句中用 abstract 修饰的类是抽象类,而使用这个关键字定义的方法也称为抽象方法。抽象方法没有方法体,本身没有任何意义,除非被重写。所以承载这个方法的类必须被继承。实际上,抽象类除了被继承以外毫无意义。另外以抽象方法的角度出发,只要类中有一个抽象方法,此类就被标记为抽象类。定义一个抽象类的伪代码如下:

public abstract class Parent{
	abstract void method();
}

    2).设计原则

        1.抽象类是用来继承的,尽量避免从具体类继承

        2.抽象类应该拥有尽可能多的共同代码,以提高代码的复用率

2.接口

   1)概念

      接口是抽象类的延伸,可以看作是纯粹的抽象类,同样的,接口中所有方法都没有方法体。接口使用interface关键字进行定义,具体语法如下:

public interface father{
	void show();
}

同时对于一个类而言,可以同时继承一个类和接口:

public interface ifather{
	void show();
}
class father{}
class son extends father implements ifather{}

此外,继承接口时,可以多重继承:

interface father{}
interface father1{}
interface father2{}
class son implements father,father1,father2{}

一个接口也可以继承另一个接口:

interface father{}
interface father1 extends father{}

  2)实例分析

     下面通过一个实例分析普通类的继承和接口的继承间的异同:

package project;
public class iproject {
	public static void main(String[] args) {
		Quadrilateral q1=new Quadrilateral();
		isquare i1=new isquare();
		iisquare ii1=new iisquare();
		q1.iShow();//
		i1.iShow();//纯类继承
		ii1.show();//纯接口继承
  }
}

interface painting{
	public void show();
}

class Quadrilateral{
	public void iShow()
	{
		System.out.println("this is the Quadrilateral method");
	}
}

	
class isquare extends Quadrilateral{}

class iisquare implements painting{
	public void show()
	{
		System.out.println("draw a iisquare");
	}
}

3.接口与抽象类异同

   1.一个类只能使用一次继承关系,一个类却可以实现多个接口继承

   2.一般情况下,优先考虑接口,其次考虑抽象类

   3.抽象类中可以用非抽象类方法,而接口中不能有方法实现

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值