Java学习---3.面向对象--对象转型,多态

1. Anminal A=new dog("color");A只能访问作为anminal的对象

内存中A指向一个dog对象。

Dog d1=Dog(A);//则可以看到整个dog对象。

定义成父类的引用最灵活。

2.动态绑定是指在执行期间而非编译期间判断所引用的对象类型 .

多态绑定--迟绑定--而是根据实际的类型调用相应的方法。

多态存在的三个条件:1.继承,2.重写,3.父类引用指向子类对象 ,new的是哪个子类对象就会调用哪个子类的方法。

3.Final关键字:final的变量的值不能被改变,方法不能被重写,final的类不能被继承。

相当于C++中的const。

4.接口:Java只支持单继承,接口是一种特殊的抽象类,抽象类中只包含常量和方法的定义,没有变量和方法的实现。

public interface Runner{

  public static final int id=1;

  public void start();

}

接口特性:接口中声明的属性默认为public static final,只能是抽象方法。

class Student implements Runner{

  public void start(){

    System.out.println("student is runner");

  }

}

一个类可以实现多个无关的接口。

多个无关的类可以实现一个接口。

存在多态性。

时间: 2024-12-06 04:16:07

Java学习---3.面向对象--对象转型,多态的相关文章

java学习笔记(八)多态与抽象

多态和抽象是从继承引出来的两个重要的概念,多态允许对象以多种形式存在,而抽象则允许创建抽象类. 多态是指一个对象有多种形式的能力.一个类的子类可以定义它们唯一的行为,同时共享父类的某些相同特征.动态多态指在运行中系统才能动态确定方法所指的对象. 多态的技术基础: 向上转型技术:一个父类的引用变量可以指向不同的子类对象,或者说一个子对象可以被当做一个父类类型; instanceof关键字:用于判断运行时对象的真正类型; 动态绑定技术:运行时根据父类引用变量所指对象的实际类型执行相应的子类方法,从而

Java学习——类与对象

在学习面向对象之前首先我们要理解一下几点: 什么是面向对象 对象的概念 类 类与对象的关系/区别 什么是对象的属性 什么是对象的方法 什么是面向对象.对象.类 讲到面向对象就不得提到面向过程,早期的计算机编程是基于面向过程的方法,例如实现两个数的加法运算(1+1=2),我们可以通过一个算法就可以解决这个问题.但是随着计算机技术的不断提高,我们遇到的问题解决起来越来越复杂,所以我们可以通过面向对象的方式,更利于用人理解的方式对复杂系统进行分析.设计与编程. 面向过程就是分析出解决问题多需要的步骤,

Java 学习之面向对象思想、类、对象

一.首先我们先说说面向过程 面向过程”(Procedure Oriented)是一种以过程为中心的编程思想.“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承.多态),并且它们不允许混合持久化状态和域逻辑.就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 该思想适用与解决简单问题,当程序大到一定程度的时候,其调试和维护就很困难.该思想更贴近计算机,不利于大规模的程序设计.对代码重用支持的不够好. 二.面向对

Java学习之面向对象一

1 面向对象 1.1     理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. l  面向过程的程序设计方式,是遇到一件事时,思考"我该怎么做",然后一步步实现的过程. 例如:公司打扫卫生(擦玻璃.扫地.拖地.倒垃圾等),按照面向过程的程序设计方式会思考"打扫卫生我该怎么做,然后一件件的完成",最后把公司卫生打扫干净了. l  面向对象的程序设计方式,是遇到一件事时,思考"我该让谁来做",然后那个"

Java学习之面向对象(概念性质) <好程序员特训营>

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 1.面向对象:三个特征:封装,继承,多态 2.开发过程:其实就是找对象使用.没有对象,就创建一个对象 3.类和对象的关系. 现实生活中的对象:张三 李四. 想要描述:提取对象中共性内容.对具体的抽象. 描述时:这些对象的共性有:姓名,年龄,性别,学习java功能

Java学习(一)--面向对象(一)

面向对象的思想一直指导者我们软件的分析.设计与开发.java语言是一种面向对象的语言,在学习java之前,先回顾一下面向过程和面向对象. 一面向过程 面向过程主张按功能来划分系统需求,每个功能都负责对数据进行一次处理,每个功能都接受一些数据.它最小的单位是函数,每个函数负责完成一个功能,整个系统由一个个函数组成,其中有一个主函数,作为程序的入口,主函数依次调用其他普通函数,普通函数之间依次调用,从而完成整个软件系统的功能,其实就是主函数负责把系统中的所有函数"串起来". 从上面的图中我

Java学习: 面向对象的使用与注意事项

面向对象的使用与注意事项 面向过程:当需要实现一个功能的时候,每一个具体的步骤都需要亲力,详细处理每一个细节面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事. 类与对象的关系 类是对一类事物的描述,是抽象的. 对象是一类事物的实例,是具体的. 类是对象的模板,对象是类的实例. 定义一个类,用来模拟“学生”事物.其中就有两组成部分: 属性(是什么): 姓名 年龄 行为(能做什么): 吃饭 睡觉 学习 对应到Java的类当中:成员变量(属性): Stri

Java学习笔记-4.继承与多态

一.继承机制 1.继承:允许一个类作为另一个类的扩充版本 2.单继承:一个类只继承了一个父类    多继承:一个类继承了多个父类 Java只支持单继承,C++支持多继承 二.类的继承 1.形式: class SubClass extends BaseClass { //子类类体,定义子类的新成员 } Java中所有的类都直接或间接地继承类 java.lang.Object 2.构造方法 (1)显式构造方法    形式:super(参数表); 系统执行到这条语句时,会根据参数表判断调用父类中哪个构

Java学习笔记----面对对象

最近开始着手整理自己学习的东西,把面向对象整理出来 什么是面向对象? 起初,"面向对象"是专指在程序设计中采用封装.继承.多态等设计方法. 面向对象的思想已经涉及到软件开发的各个方面.如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design).以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming). 什么是多态? 在面向对象语言中,接口的多种不同的实