java基础部分----4.对象的转型

面向对象的三个特征:封装、继承、多态

本部分是面向对象的多态性的体现

1.对象的向上转型

    向上转型----将子类的对象赋值给父类的引用;

    Student s = new Student();

    Person  p = s;

    或者也可以写成

    Person p = new Student();

    一个引用能够调用哪些成员(变量和函数),取决于这个应用的数据类型

    一个引用调用的是哪一个方法取决于这个引用所指向的对象(调用的都是子类的成员变量和方法)

2.对象的向下转型

    向下转型----将父类的对象赋值给子类的引用:

    Student s1 = new Student();

    Person  p = s1;

    Student s2 = (Student)p;

    直接生成的父类是无法转型为子类对象的;

时间: 2024-10-12 16:59:58

java基础部分----4.对象的转型的相关文章

黑马程序员——Java基础篇之对象归要

1.static关键字 1.1.static可以修饰成员变量,成员方法,还有类(其中这里的类是内部类) 1.2.static修饰的部分会随着类的加载而加载: 加载过程:当JVM执行static修饰的代码时,会在内存的共享区给static部分开辟一个空间,供该类持有,static部分不是某个对象的部分,而是该类共有的,所以当一个函数会被多个对象调用时,最好定义成static,这样比较节省空间. 1.3.静态方法只能访问静态成员 原因:如果静态方法中调用了非静态的变量,那么由于静态方法是随着类的加载

第31节:Java基础-类与对象

前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包,访问权限,类的继承,继承性,方法的重写,super变量. 方法的重载:成员方法的重载和构造方法的重载 方法的重载 在一个类中可以有多个方法具有相同的名字,但是这些方法的参数个数不同,或参数类型不同,即为方法的重载. class Demo{ // one void dashu(String name){ System.out.println(name); } // two void

Java基础之类和对象

Java基础之类和对象 类和对象 定义: 类:类是一个模板,它描述一类对象的行为和状态 对象:类是一个模板,它描述一类对象的行为和状态 类 package com.imooc.animal; public class cat { String name="小猫咪"; public void run() { System.out.println("小猫快跑!"); } public void run(String name) { System.out.println(

java基础学习之对象转型

对象转型(casting): 1)一个基类的引用类型变量可以指向其子类的对象 2)一个基类的引用不可以访问其子类对象新增加的成员(属性和方法) 3)可以使用引用变量instanceof类名,来判断该引用型变量所指向的对象是否属于该类或该类的子类 4)子类的对象可以当作基类的对象来使用称作向上转型(upcasting),反之称为向下转型(downcasting) package javastudy.summary; /** * 父类Animal * @author gacl * */ class

2.Java基础之Runtime对象

毕向东老师Java基础学习笔记——Runtime对象 今天学习Java中的Runtime对象后,感觉这个对象对我们主要有以下几点用处. 1.使用java代码打开本地可执行文件,比如打开一个计算器. 2.打开一个程序,并用该程序打开一个支持的文件. 比如:1.打开记事本,用记事本打开*.java文件, 2.打开暴风影音播放器,用播放器打开一个本地视频. 范例代码如下: /************************************** Runtime对象: 1.该类并没有提供构造函数.

3.Java基础之Date对象

毕向东老师Java基础学习笔记——Date对象 今天学习Java中的Date对象后,感觉这个对象对我们主要有以下几点用处. 1.获取时间和日期并按照自己定义的格式显示. 2.网站设计时显示时间.  知识点如下: java.util 类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 JDK 1.1 开始,应该使用 Cal

1.Java基础之System对象

毕向东老师Java基础学习笔记——System对象 今天学习Java中的System对象后,感觉这个对象对我们主要有以下几点用处. 1.获取当前操作系统版本和类型. 2.获取当前操作系统的path中的环境变量. 范例代码如下: /* System:类中的方法和属性都是静态的. out:标准输出,默认是控制台. in:标准输入,默认是键盘. 描述系统一些信息 获取系统属性信息:Propcrtics */ import java.util.*; class SystemDemo { public s

Java4Android基础学习之对象的转型

对象的转型可分为向上转型和向下转型 1.向上转型 1)将子类的对象赋值给父类的引用 2)一个引用能够调用哪些变量和函数,取决于这个引用的类型,如: //父类 class father{ String name; int age; } //子类 class son extends father{ String address; } 如果定义一个son类的p,则p只能调用address,因为p是son类的,而son类中只有address. 3)一个引用调用的是哪个方法,取决与这个引用所指向的对,如:

java基础-类与对象、

一.面向过程的思想和面向对象的思想 面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,然后再分析这些类和对象应该具有哪些属性和方法.这是第二点.最后分析类和类之间具体有什么关系,这是第三点. 面向对象有一个非常重要的设计思维:合适的方法应该出现在合适的类里面. 二.简单理解面向对象 就是在程序里面首先分解出来的应该是注意不再是一步一步的过