单继承可以定义为派生类,从超类继承基本方法(数据成员和变量)和行为。这是这里存在的一个基本的关系概念。 Java 只使用单一继承作为子类,无法扩展更多的超类。
广告 该类别中的热门课程 JAVA 掌握 - 专业化 | 78 课程系列 | 15 次模拟测试继承是面向对象编程的基本属性。继承倾向于在另一个对象中使用一个类对象的属性。 Java 使用继承来实现代码可重用性,通过增强可靠性和实现运行时多态性来减少时间。由于代码被重用,因此可以减少开发成本和维护成本。 Java有不同类型的继承,即单继承、多级继承、多重继承和混合继承。本文将通过一个编程示例简要介绍一下java中单继承概念的基本理解。这里我们将有一个完整的java实现。
语法:
下面给出了一般语法。继承概念使用关键字“extend”来继承特定的类。在这里您将学习如何使用扩展关键字来派生类。在类名之后,我们声明一个扩展关键字,后跟另一个类名。
代码:
class base class {…. methods } class derived class name extends base class { methods … along with this additional feature }
Java 使用关键字“extends”从现有类派生出一个新类。我们将继承的类称为基类或超类,将新创建的类称为派生类或子类。基类提供数据成员和方法,而子类继承这些方法。
单继承指定了扩展时的子父类关系以及所有方法中最简单的类型,例如从fruits继承的pear和apple。在继承机制中,对象以自上而下的方式处理。之前我们学习了语法及其声明。有必要了解访问说明符的概念,即私有、公共和受保护。该类只有在声明为私有后才能访问所有数据成员。公众可以访问任何班级。保护是用同一个封装完成的;这也仅适用于通过继承。
代码:
class fruits {private int f; int g; private void mmm () { System.out.println(“….”); } } class M extends fruits {void method (); ……… }} class Main { public static void main (String [] args) { M ob= new M (); Ob.f=3; // here the variable cannot be accessed Ob.mmm(); }
上述代码说明:在上面的示例代码中,语句ob.=3,子类无法访问基类的私有成员,从而无法对其进行赋值。因此,它会抛出找不到符号的错误(编译时错误)。要使用它,必须使父类的数据成员具有公共性。
在下面的例子中,我们在超类中声明了 protected,子类可以直接访问。
代码:
class pgm { protected int I,k; method ( int m,int n) { … } class R extends pgm { private int f; // methods } public class protected Main { public static void main() { // methods and objects access }
单一继承的流程图如下:
Y 类继承 X 类,仅扩展一个类。
本节将看到单继承的实现,其中子类使用扩展关键字引用父类属性和行为。
注意:我在所有这些示例中都使用 Main 作为类名。执行时需要将文件名保存为Main.java。使用单继承和对象类计算员工的工资。
代码:
class Employee { float sal=60000; } class Main extends Employee { float b=1500; float temp= sal + b; public static void main(String args[]) { Main ob=new Main(); System.out.println("Salary amount is:"+ob.sal); System.out.println(" Extra Bonous is:"+ob.temp); } }
输出:
使用求和、减法和除乘方法实现计算器。
代码:
class Calc{ int sum(int i , int j) { return i+j; } int subract(int i , int j) { return i-j; } } public class Main extends Calc { int mul(int xx , int yy) { return xx*yy; } int divide(int xx , int yy) { return xx/yy; } public static void main(String args[]) { Main c= new Main(); System.out.println(c.sum(2,2)); System.out.println(c.subract(2,6)); System.out.println(c.mul(8,9)); System.out.println(c.divide(2,2)); } }
输出:
使用单继承计算矩形和三角形面积。
代码:
class Rectdemo { int le,be; void Sval(int a,int b) { le=a; be=b; } int GetR() { return le*be; } } class Tri extends Rectdemo { int b,h; float t; void Sdata(int q,int r) { b=r; h=q; } float GetT() { t=(float)le/2*b*h; return (t); } } class Main { public static void main(String args[]) { Tri Tr=new Tri(); Tr.Sval(40,8); Tr.Sdata(10,6); System.out.println("Area of Rectangle is calculated as :" +Tr.GetR()); System.out.println("Area of Triangle is calculated As :"+Tr.GetT()); } }
输出:
在单继承中使用 Super 关键字。 Super 关键字引用对象的父类并充当其构造函数。
代码:
class Library { String lname; public Library(String m) { lname = m; } } public class Main extends Library { String lname; public Main(String x1, String x2) { super(x1); //passing argument to parent class constructor this.lname = x2; } public void display() { System.out.println(super.lname+" and "+lname); } public static void main(String[] args) { Main c = new Main("library name","library id"); c.display(); } }
输出:
子类使用继承调用的 Over Ridden 方法。
代码:
class even { void display() { System.out.println(" Even Nos,4 2"); } } class odd extends even { void display() { super.display(); System.out.println(" Odd Nos ,1 3"); } } class Main { public static void main(String[] args) { even e = new odd(); e.display(); } }
输出:
因此,到最后,本文将指导各种继承概念以及如何使用 java 中可用的单一继承。您还将了解使用扩展关键字的工作实现。我希望这篇文章内容丰富,能为初学者增加知识。
以上是Java中的单继承的详细内容。更多信息请关注PHP中文网其他相关文章!