JAVA 特征以及基本类抽象类接口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 特征以及基本类抽象类接口相关的知识,希望对你有一定的参考价值。

  Java是一个面向对象的语言,java面向对象一般有三大特征:封装、继承、多态。

  封装:就是把一些属性和方法封装到一个类里。

  继承:就如子类继承父类的一些属性和方法。

  多态:就如一个父类有多个不同特色的子类。

  这里我就不多讲解,下面我主要说明一个继承。继承是OOP(面向对象)的一个特色,java只支持天津网站制作公司单继承(如果继承两个有同样方法的父类,那么就不知道继承到那个父类的,所以java只支持单继承)。继承是java的一个特色,我们用的所以类都继承Objict类,所以就要Object类的方法,如toString()、getClass()、wait()……所以我们建立的类都有父类。

  Java中一般有三种类:

  基本类:也就是一般的类(一般所说的类就是基本类),是对象的模板,是属性和方法的集合。可以继承其他基本类、抽象类、实现接口。

  抽象类:有抽象方法的类(抽象方法就是该方法必须由继承来实现,本身只定义,不实现)。抽象类可以有一个或多个抽象方法,他是基本类和接口类的过度。

  接口类:一般叫做接口,该类中的所有方法都是抽象方法,该类的方法本身只定义不实现。

  抽象类和接口一个由【abstract class + 抽象类名】一个由【interface +接口名】定义,接口中的所以方法都是抽象方法,而抽象类有部分方法是自身实现了的,一些只定义不实现。

  基本类的定义:

  public class Fruit {

  public void price() {

  System.out.println("水果价格");

  }

  public void weight() {

  System.out.println("水果重量");

  }

  }

  抽象类的定义:

  public abstract class Fruit {

  public void price() {

  System.out.println("水果价格");

  }

  public abstract void weight();

  }

  接口类的定义:

  public interface Fruit {

  public void price();

  public void weight() ;

  }

  从上面我们可以看出接口就是抽象类的升级版,由于该类天津关键词优化的方法全是抽象方法,所以把abstract换成interface。而接口的方法必须由子类才能实现。

  继承

  继承基本类,可以继承父类的方法,也可以从些,也可以扩充。下面是实现接口基本类的类:

  public class Apple extends Fruit {

  }

  该类中就有Fruit基本类中的两个方法:price()和weight();

  继承抽象类,必须实现抽象类的抽象方法,可以修改父类的方法,和添加方法。下面是继承抽象类的类:

  public class Apple extends Fruit {

  @Override

  public void weight() {

  System.out.println("水果重量");

  }

  }

  该类继承类Fruit的price()方法,同时实现了Fruit抽象类的weight()方法。

  继承接口类(也就实现接口),必须实现接口类的所有的抽象类和添加了。下面是继承接口的类:

  public class Aple implements Fruit {

  @Override

  public void price() {

  System.out.println("水果价格");

  }

  @Override

  public void weight() {

  System.out.println("水果重量");

  }

  }

  该类是实现Fruit接口的所以抽象方法。

  Java只支持单继承(继承基本类和抽象类),但是我们可以用接口来实现(多继承接口来实现)

  如:public class Apple extends Fruit implements Fruit1, Fruit2{}

  一般我们继承基本类和抽象类用extends关键字,实现接口类的继承用implements关键字。其实继承是很简单的,可以就是没有弄清这两个关键字,当我们弄清楚也就是比较简单的。

  接口也可以继承接口如:public interface Fruit1 extends Fruit {}这是接口中的多重继承,同理抽象类和基本类也同理。如果我们把基本类添加final修饰,也就定义该类不被继承,该类不能作为父类。同时基本类的方法可以用public 、private、proptected来修饰方法,用final来阻止继承该方法。

  这里只是自己的理解,有些地方时用词不当的,只是觉得这样用词更好的理解,请大家谅解。有些地方由于不是这里的重点,没有讲清楚,希望大家通过其他方式了解。

以上是关于JAVA 特征以及基本类抽象类接口的主要内容,如果未能解决你的问题,请参考以下文章

Java基础:3抽象类和接口

3抽象和接口的基本概念

多态与抽象以及接口

Java多态与抽象类

接口和抽象类的区别

scala 抽象类和trait的区别