java基础_对象转型

package java_test;
/*
 对象的转型:
 1.对象的向上转型 子类转成父类 默认进行 父类引用指向子类对象
 2.对象的向下转型 父类转成子类 强制进行

 关键字: instanceof 测试左边的对象事都是右边类的实例 如果是返回true  不是返回false
 */
class Animals{
	void sleep(){
		System.out.println("睡觉中");
	}
}

class Cas extends Animals{
	void catchMouse(){
		System.out.println("捕鼠");
	}
}

class Dogs extends Animals{

}
public class A6_50 {
	public static void main(String[] args) {
		Animals a=new Cas();//向上转型 父类引用指向子类对象,这个a只能访问父类的成员
		//Cas c=(Cas)a;//向下转型 强制进行 必须强制向下转型后才可以用Cas类的方法
		System.out.println(a instanceof Cas);//这里返回true a指向了一个猫

		Animals b=new Animals();
		System.out.println(b instanceof Cas);//这里返回是false ,因为还有可能是狗
	}
}

 

时间: 2024-11-07 11:47:51

java基础_对象转型的相关文章

JAVA基础学习-对象转型

首先,明确引用类型与对象类型的概念 在这个例子里,有一个对象 new ADHero(), 同时也有一个引用ad 对象是有类型的, 是ADHero 引用也是有类型的,是ADHero 通常情况下,引用类型和对象类型是一样的 接下来要讨论的类型转换的问题,指的是引用类型和对象类型不一致的情况下的转换问题 public class Hero { public String name; protected float hp; public static void main(String[] args) {

java基础_对象初始化过程

1.因为new Studen()用到了Student类,所以会把它从硬盘上加载进入内存 2.如果有static静态代码块就会随着类的加载而执行,还有静态成员方法和普通方法也会随着类的加载而被加载 3.在堆中开辟空间,分配内存地址 4.在堆中建立对象特有属性(非静态成员),并同时对特有属性进行默认初始化 5.对属性进行显示初始化 比如  在类中 String name="123"; 6.执行构造代码块,对所有对象进行初始化 7.执行对应的构造函数,对对象进行初始化(调用不同的构造函数)

java入门之——对象转型

对象的类型转换是我们在编程的时候经常会遇到的,java平台也是如此,比如一些基本类型的数据转型和复合数据的转换. 举例 java语言中主要分为向上转型和向下转型,如何来了解和掌握这两者转型的关系呢?首先我们先来举个例子,相信大家看完以后就会明白了. 比如说我们的现实的世界中有动物.猫科动物.老虎这三样东西,它们三者都有什么样的关系呢?如果用面向对象的思维来考虑的话,老虎是子类,猫科动物是老虎的父类.老虎对象就是猫科动物的对象,在这里要特别说明的一点就是:老虎是猫科动物的一个对象,那么猫科动物所具

java基础知识-对象和类

前言: 因为要准备Java面试,所有将java基础知识点重新复习一遍,主要笔记来源于菜鸟教程和java核心技术的书籍中,也有一些博客上的资料(这些只供我个人学习使用) Java 对象和类 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 下图中男孩女孩为类,而具体的每个人为该类的对象: 1.Java中的对象 现在让我们深入了解什么是对象.看看周围真实的世界,会发现身边有很多对象

[Java][视频] 笔记-对象转型 和 动态绑定(多态)

一.对象转型 1 一个基类的应用类型变量可以“指向”其子类的对象. 2 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法). 下面的例子可以好好研究一下: 二 .动态绑定(多态):polymoph 动态绑定(多态)是指“在执行期间”(而非编译期)判断所引用对象的实际类型,根据其实际类型调用其相应的方法. 多态存在有三个必要条件: 1 要有继承 2 要有重写 3 父类引用指向本类对象 当你调用父类里面被重写的方法时,实际中new的是哪个子类对象,调用的就是哪个子类对象的方法. 如下面的例

java基础_类和对象—3

(1)创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增).减速(车速自减).修改车牌号,查询车的载重量. 编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速 度设置为100,载重量设置为100:另一个能为对象的所有属性赋值: (2)创建主类: 在主类中创建两个机动车对象. 创建第一个时调用无参数的构造方法,调用成员方法使其车牌为“辽 A9752”,并让其加速. 创建第二个时调用有参数的构造方法,使其车牌为“

java基础_类和对象.—5

首先,编写一个类ChongZai,该类中有3个重载的方法void print():其次, 再编写一个主类来测试ChongZai类的功能. public class Chongzai1 { // 首先,编写一个类ChongZai,该类中有3个重载的方法void print():其次, // 再编写一个主类来测试ChongZai类的功能. int a,b,c; public int getA() { return a; } public void setA(int a) { this.a = a;

java基础_类和对象—1

创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它. public class sanjiaoxing { //创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它. int a,b,c; // public sanjiaoxing(int a, int b, int c) { // super(); // this.a = a; // this.b = b; // this.c = c; // } public void zhouchang(int a, int b,

Java基础03-12_对象比较

对象比较 如果说现在有两个数字要判断是否相等,可以使用"=="完成 如果是字符串要判断是否相等使用"equals()" 但是如果说现在有一个自定义的类,要想判断它的两个对象是否相等,那么必须要实现类对象之中所有属性内容的比较. 范例:基础的比较方式 class Book { private String title; private double price; public Book(String title, double price) { this.title