谁能解释JAVA中抽象,继承,接口,多态,重载

谁能解释JAVA中抽象,继承,接口,多态,重载,最好有端程序加以说明!

java抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.java抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.java抽象包括两个方面,一是过程java抽象,二是数据java抽象.
抽象类中的抽象方法的语法: abstract type methodname(parameter list); 无方法体,必须加abstract 而接口中则是声明方法: (abstract)(public) type methodname(parameter list); public 和abstract可写可不写 实现接口的类可以不必实现接口中的所有方法 这是对的 但这样的话 实现类也必须是抽象的 抽象类的子类如果不实现抽象方法 子类必须也是抽象的(不是抽象的方法 子类也是要继承的 除非是不允许继承的,例如private).例程序代码片段:abstract class Person{ public Person(String n){ name = n;
}
public abstract String getDescription();

public String getName(){ return name;
}

private String name = "";
}
继承实现代码复用。Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方法。子类可以重写父类的方法,及命名与父类同名的成员变量。但Java不支持多重继承,即一个类从多个超类派生的能力。
代码片段:
Class Employee extends Person{
......
//可以有自己定义的方法,可以重写父类的方法
}

Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口的两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。
代码片段
public interface IPerson{

public String getPersons(int pageNo, int pageSize, String str);

public String getPerson(Integer id);
}

运行时多态性是面向对象程序设计代码重用的一个最强大机制,动态性的概念也可以被说成“一个接口,多个方法”。Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制。 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
代码片段:
public class PersonOperations{ public String getPersons() { return "personname";
}

public String getPersons(int id){//处理方法 }
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-23
封装,继承,多态是面向对象的三大特性,就是为了减少开发人员的编码量,提高代码可复用性,多态就包括抽象方法和虚方法,其实就是为了方便开发人员减少编码量
第2个回答  2013-11-23
封装,继承,多态,不是三两句就能说清楚的,我学.net一年了,才慢慢体会封装的用意。
相似回答