`
李瑞辉++
  • 浏览: 20837 次
  • 性别: Icon_minigender_1
  • 来自: 信阳
社区版块
存档分类
最新评论

方法的重载与重写,自动转型与强制转型,多态的理解

阅读更多
1.方法的重载与重写?
两者都是对于函数的操作,区别在于重载是在同一个作用域里定义多个同名,但参数类型和数量不同的方法,又名方法签名不同,就好像是两个同名的人一样;重写是存在于父类与子类之间的,子类重写父类中的方法,实现子类自己所需的功能,打个比方,儿子继承了父亲的卡车,原来是装货的,但现在儿子用它来拉人如:
///////////////////////////////////重载
Public void study(){}
Public void study(int hour){}
Public viod study(int hour,string name){}
//////////////////////////////////////重写
Class father{public void car(){拉货}}
Class son extends father{ public void car(){拉人}}

2.自动转型与强制转型?
自动转型与强制转型存在于很多情形,如不同数据类型之间的转化:
如  byte a=1; int b=a;//可以直接进行转型,即自动转型
int c=0;byte d =(byte)c; //不能直接转型必须进行强制装转换
也存在于父类与子类之间如 father f=new son();// son继承father 可以自动转型
                          son s= (father)f;//father 是父类,需要强制转换,而且这种转换也不安全,不建议使用

3.多态的理解?
////////////////////////测试部分
public class Testpeople {
	public static void main(String[] args) {
		people  pp1= new adult();
		pp1.showMessage();
		
		people pp2 = new children();
		pp2.showMessage();
	}
}
////////////////////////基类
public class people {
	
	public void showMessage(){
		System.out.println("我是一个普通人");
	}
}
//定义一个小孩类
public class children extends people{
	public void showMessage(){
		System.out.println("我是一个小孩");
	}

}
//定义一个大人类
public class adult extends people{
	public void showMessage(){
		System.out.println("我是一个大人");
	}
}

1
1
分享到:
评论

相关推荐

    java多态的总结

    编译时多态主要体现在方法的重载(Overloading),即在同一个类中可以有多个同名方法,但参数列表不同。编译器会根据传入参数的类型和数量来决定调用哪个方法。运行时多态则基于方法的重写(Overriding),子类可以...

    对象转型和多态1

    - **方法的多样性**:包括方法的重写(覆盖父类方法以实现子类特有的功能)和方法的重载(方法名相同但参数列表不同)。 例如,我们可以设计一个Animal类,以及它的两个子类Dog和Cat,然后通过Animal类型的引用...

    JAVA中类的多态的理解.pdf

    1. 方法重载(Overloading)与方法重写(Overriding): 在Java中,可以在同一个类中或不同的类中定义相同名称的方法,这称为方法重载。但多态性更倾向于方法重写,即子类对父类方法的重新定义。文件中提到的`Person...

    深入Java核心Java中多态的实现机制.pdf

    特定多态包括强制多态(如类型转换)和重载多态(如方法或运算符重载)。强制多态涉及到编译器隐式地将对象转换为适当的类型,以便调用正确的方法。重载多态则允许使用相同的标识符表示不同的操作,比如Java中的方法...

    java中实现多态的机制Java系列2021.pdf

    最后,文档中指出包含多态与子类和父类之间的关系紧密相关。在Java中,我们可以向上转型将子类对象引用作为父类引用,但只能调用父类中定义的方法和属性。如果子类重写了父类中的某些方法,那么在通过父类引用调用...

    Java面向对象的3大特征之多态

    方法重载是静态多态的一种形式,它指的是在同一个类中定义多个同名方法,但是方法的参数列表不同。在编译时,编译器根据参数的不同来确定调用哪个方法。 对象多态的实现案例可以更直观地理解这一点。在没有多态的...

    13.java学习第十三章——方法覆盖和多态.pdf

    方法覆盖(重写)是指在子类中提供了一个与父类中已有的方法具有相同签名的方法,以此来修改或扩展该方法的行为。这有助于提高代码的灵活性,并支持多态性的实现。 - **何时使用方法覆盖**: - 当子类继承自父类,...

    多态详解= 多态的优缺点在不同的编程场景中不同的适用性

    编译时多态主要通过方法重载实现,而运行时多态则是 Java 运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法。 #### 多态的示例 假设有一个`Animal`类,它有一个`makeSound()`方法。`Dog`类和`Cat`类都...

    java的继承总结.doc

    多态是由方法重载、继承、方法重写、自动转型等技术的组合。多态可以提高代码的重用性和程序的扩展性。 八、为什么需要继承? 继承可以提高代码的重用性和程序的扩展性。继承可以使得子类继承父类的所有属性和方法...

    多态描述飞行器.zip

    5. **虚方法与重写**:在C#中,使用`virtual`关键字声明基类的方法为可重写的,子类可以使用`override`关键字重写这些方法,以实现特定的行为。 6. **接口实现与多继承**:由于C#不支持多重继承(一个类只能继承一...

    第08讲 接口、继承与多态.ppt

    在 Java 中,多态主要体现在方法的重写和接口的实现上。通过多态,可以在运行时确定调用哪个具体的方法,提高了代码的灵活性和可扩展性。L o g o8.6 接口(Interface)接口在 Java 中是一种完全抽象的类,它只能包含...

    day10【接口、多态】.pdf

    在Java中,多态主要体现在方法的重载(overloading)和重写(overriding)上。多态可以简单地理解为允许不同类的对象对同一消息做出响应,即同一个接口可以被不同的对象以不同的方式实现。 #### 多态的前提条件 1....

    Java相关知识的学习(关键字)(多态)

    编译时多态通过方法重载实现,运行时多态通过方法重写实现。 3. 多态访问成员的特点: - 3.1 成员变量:多态情况下,访问的成员变量总是父类的变量,而不是子类的,因为成员变量不存在覆盖的概念。 - 3.2 成员...

    day10-code_java_frighten7x5_

    6. **多态与效率**:虽然多态提供了灵活性,但它可能导致运行时的性能损失,因为Java需要在运行时动态绑定方法调用。然而,对于大多数应用来说,这种损失是可以接受的,因为Java的JVM做了很多优化来减轻这种影响。 ...

    JAVA继承的相关知识点

    - 多态是Java中的一大特性,由继承、方法重载、方法重写和自动转型共同作用产生。 - 多态使得可以使用父类引用操作子类对象,提供了更高的灵活性和代码扩展性。 6. **为什么需要继承**: - 提高代码的重用性:...

    Java的多态性

    #### 二、方法重写与方法重载 - **方法重写(Overriding)**:发生在继承或实现关系中,子类覆盖父类或接口的方法。当子类继承了父类之后,可以重新定义父类的方法,以实现特定的功能。重写时,方法名、参数列表和...

    深入理解Java三大特性中的多态

    此外,多态也涉及到方法的重写和重载。子类可以重写父类的方法,提供自己的实现,以扩展或改变父类的功能。重载则是指在同一类中定义多个同名方法,但参数列表不同,这样可以根据传入参数的不同调用相应的方法。 总...

    java中多态概念、实现原理详解

    例如,父类引用不能直接访问子类中特有的属性或方法,即使子类重写了父类的方法,也只能调用父类中定义的方法,除非显式地将引用强制转换为子类类型。 7. 示例分析: 在给定的例子中,`XS`是父类,`DZZ`是`XS`的...

    完整版优质java课件 Java基础入门教程 Java编程技术14 补充--对多态、抽象和接口的理解(共24页).ppt

    编译时多态主要通过方法重载(Overloading)实现,而运行时多态则依赖于方法重写(Overriding)和向上转型。 2. **抽象(Abstraction)**:抽象是对复杂现实世界的简化表示,它关注对象的共同特征和行为,而不涉及...

    面向对象oop详解

    向上转型是将子类对象赋值给父类引用的过程,是一种自动类型转换,此时可以调用父类中的方法,如果方法在子类中被重写了,那么会调用子类中的实现,这种机制被称为动态绑定。多态的实现减少了代码的冗余,提高了程序...

Global site tag (gtag.js) - Google Analytics