`
hm4123660
  • 浏览: 278581 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Dea4ce76-f328-3ab2-b24a-fb268e1eeb75
数据结构
浏览量:69114
社区版块
存档分类
最新评论

java的继承extends

    博客分类:
  • Java
阅读更多

          “继承”是面向对象软 件技术当中的一个概念。如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方 法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。

 

继承的基本概念

1.继承是面向对象的三大特性之一。(封装,继承,多态)

2.被继承的类是父类,继承父类的类是子类

3.继承可以使一个对象直接使用另以对象的属性和方法

4.继承可实现代码重用

 


继承的限制

1.java只能显示单继承,即一个类只能有一个父类

2.允许多重继承

3.继承只能继承非私有的属性和方法

4.构造方法不能被继承

 

来看例子

 

情况一:

 

public class Mystring {
	
	public static void main(String[] args) {
		
		  student ok=new student("xiaoming");
	          ok.say();//say方法也被继承过来
	}

}
class person
{
    public String name; 
    //构造方法
    public person()
    {
       System.out.println("我是person构造方法");
    }
    public void say()
    {
        System.out.println("名字是 :"+name);
    }
}
class student extends person//继承person类
{
	public student(String name)
	{
		  this.name=name;//person的name属性被继承过来
	}	
}

 输出结果为:

 



 得出结论1:子类实例化时,首先会调用父类的构造方法,之后自己在进行实例化操作

 

情况二:



 

    此时引入关键字super。super表示父类的引用,可以调用父类的方法和属性。如调用父类的say方法,可以用。super.say()调用。

 

得出结论二:父类无默认构造函数时,子类必须显示的调用父类的构造方法

 

 

继承方法的重写

 

   概念:在java中,子类能继承父类中的方法,但有时子类并不想原封不动的使用父类的方法,而想做一些修改,这就需要采用方法的重写,又称方法覆盖。

 

方法重写需要注意的特性

1.发生重写的父类和子类的两个方法的返回值,函数名,参数列表必须完全一致

2.子类抛出的异常不能超过父类相应方法抛出的异常

3.子类方法的访问级别不能低于父类相应方法的访问级别(如父类方法时protected,子类重写就要用protected或public)

 

如:

public class Mystring {
	
	public static void main(String[] args) {
		
		  student ok=new student("xiaoming");
	      ok.say();//say方法也被继承过来
	}

}
class person
{
    public String name; 
   
    public void say()
    {
        System.out.println("名字是 :"+name);
    }
}
class student extends person//继承person类
{
	public student(String name)
	{
		this.name=name;//person的name属性被继承过来
	}	
	
	//say方法重写
	public void say()
	{
		System.out.println("重写过得方法       名字是 :"+name);
	
	}
}

 

输出结果:



 

  • 大小: 6.3 KB
  • 大小: 34.5 KB
  • 大小: 5.5 KB
3
2
分享到:
评论

相关推荐

    Java继承extends与super关键字详解

    本篇文章给大家详细讲述了Java继承extends与super关键字的相关知识点,需要的朋友们可以参考学习下。

    Java中extends类的继承

    Java中extends类的继承

    java extends(继承)学习

    觉得自己java学得不错那你下来做做。。对学习extends很有帮助。。。特别是将要毕业的大学生

    12.java学习第十二章——继承extends.pdf

    12.java学习第十二章——继承extends.pdf

    extends继承的使用方法练习

    继承的使用方法,extends使用的小java程序。

    Java中extends一定是代表继承吗?

    今天小编就为大家分享一篇关于Java中extends一定是代表继承吗?,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    D10继承,抽象类.zip_java继承_抽象类

    Java继承具有单继承的特点, 每个子类只有一个直接父类. Java的继承通过extends关键字实现. 实现继承的类被称为子类. 被继承的类被称为父类. 父类和子类的关系, 是一种一般和特殊的关系. 例如水果和苹果的关系, ...

    为什么说Java中继承是有害的

    大多数好的设计者象躲避瘟疫一样来避免使用实现继承(extends 关系)。实际上80%的代码应该完全用interfaces写,而...“JAVA设计模式”一书详细阐述了怎样用接口继承代替实现继承。这篇文章描述设计者为什么会这么作。

    《java面向对象程序设计-继承和多态》教案.doc

    } 创建接口的步骤 2-2 接口使用示例 总结 封装、继承和多态是面向对象的主要特征 继承可提高代码的重用性,使用extends关键字来实现。除了构造方法之外,父类的所有 方法和属性都被子类的对象继承 多态性是不同的...

    Java的extends使用方法

    在Java中,通过keywordextends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在Java中不同意多继承。  (1)继承 class Animal{ void eat(){ System.out.println(Animal eat); ...

    java基础知识-继承的使用

    java中的继承是一种面向对象编程的重要概念,它允许一个类继承另一个类的属性和方法。使用继承可以实现代码的重用和层次化组织。 要使用继承,需要定义一个子类(派生类)来继承一个父类(基类或超类)。子类可以...

    Java继承.docx

    继承: 子承父业 子类|派生类: 继承别的类的类 父类|基类|超类: 被继承的类 继承如何使用: ... java是单继承机制,但是可以多实现接口 一个类可以有多个子类,但是一个子类只能有一个父类

    java三大特性之继承

    java的继承(体系) -继承关系(类与类之间的关系 亲血缘关系) -实现关系(类与接口之间的关系 师徒关系) 继承关系 基本概念 关键字 extends 扩展 class A extends B A:子类(派生类) 所有...

    java代码-日常练习35,继承extends

    java代码-日常练习35,继承extends

    Java 接口与继承

    继承是一种由已有类创建新类的机制,是面向对象程序设计的基石之一 ...class SubClass extends SuperClass{ … } (2) 继承是存在于面向对象程序中的两个类之间的一种关系 (3) 通过继承实现代码复用

    使用Java继承实现发红包案例.md

    java继承的使用以及Array List集合

    java类继承源码

    java类继承的产考代码,适合初学者参考使用

    Java面向对象继承.pdf

    在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。 implements关键字 使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,...

    Java零基础-继承.md

    内容概要: 本文介绍了Java中的继承概念及其用法。读者将学习如何创建子类和父类,并了解继承的重要性和优势。通过一个图形类的示例,读者将了解如何使用关键字extends来实现类的继承,以及如何通过重写方法来实现...

    基于Java继承关系改进学生选课模拟系统【100011985】

    本实验主要为基于继承关系改进学生选课模拟系统,即在实验二的基础上做继承变动 (1)新建一个 package 包,将原程序中需要被继承的父类提取出来 (2)在子类中运用继承关键字 extends,调用继承父类中方法、数据,...

Global site tag (gtag.js) - Google Analytics