首页  >  文章  >  Java  >  Java中的单继承

Java中的单继承

WBOY
WBOY原创
2024-08-30 15:25:431182浏览

单继承可以定义为派生类,从超类继承基本方法(数据成员和变量)和行为。这是这里存在的一个基本的关系概念。 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”从现有类派生出一个新类。我们将继承的类称为基类或超类,将新创建的类称为派生类或子类。基类提供数据成员和方法,而子类继承这些方法。

Java 中单继承如何工作?

单继承指定了扩展时的子父类关系以及所有方法中最简单的类型,例如从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
}

单一继承的流程图如下:

Java中的单继承

Y 类继承 X 类,仅扩展一个类。

Java 中实现单继承的示例

本节将看到单继承的实现,其中子类使用扩展关键字引用父类属性和行为。

注意:我在所有这些示例中都使用 Main 作为类名。执行时需要将文件名保存为Main.java。

示例#1

使用单继承和对象类计算员工的工资。

代码:

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);
}
}

输出:

Java中的单继承

示例#2

使用求和、减法和除乘方法实现计算器。

代码:

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));
}
}

输出:

Java中的单继承

示例 #3

使用单继承计算矩形和三角形面积。

代码:

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());
}
}

输出:

Java中的单继承

示例#4

在单继承中使用 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();
}
}

输出:

Java中的单继承

示例#5

子类使用继承调用的 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 中可用的单一继承。您还将了解使用扩展关键字的工作实现。我希望这篇文章内容丰富,能为初学者增加知识。

以上是Java中的单继承的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn