关于java的上转型对象】的更多相关文章

1. 定义 如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如: A a;a = new B();ORA a;B b = new B();a = b; 则称A类对象a是子类B对象b的上转型对象. 2. 性质 对象b的上转型a的实体是有子类B创建的,但是上转型对象会失去子类B的一些属性和功能.上转型对象具有以下特点: 上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法.即为较子类B失去一些属性和功能,这些属性和功能是新增的. 上转型对象可以操作子…
1. 定义 如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如: A a;a = new B();ORA a;B b = new B();a = b; 则称A类对象a是子类B对象b的上转型对象. 2. 性质 对象b的上转型a的实体是有子类B创建的,但是上转型对象会失去子类B的一些属性和功能.上转型对象具有以下特点: 上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法.即为较子类B失去一些属性和功能,这些属性和功能是新增的. 上转型对象可以操作子…
Example5_10.java class 类人猿 { void crySpeak(String s) { System.out.println(s); } } class People extends 类人猿 { void computer(int a,int b) { int c=a*b; System.out.println(c); } void crySpeak(String s) { System.out.println("***"+s+"***");…
1. 定义 如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如: A a;a = new B();ORA a;B b = new B();a = b; 通俗的说:哺乳类动物为父类,老虎类为子类,把老虎的对象赋给哺乳类,那么哺乳类对象就是老虎类对象的上转型对象. 则称A类对象a是子类B对象b的上转型对象. 2. 性质 对象b的上转型a的实体是有子类B创建的,但是上转型对象会失去子类B的一些属性和功能.上转型对象具有以下特点: 上转型对象不能操作子类新增加的成…
上转型:重写父类方法才调用子类方法,其他仍用父类的,包括被子类隐藏的父类成员变量,而且不能调用子类新增的成员变量和成员方法. 下转型:只能是转上去的才能转下去.下转型类似于该子类直接继承父类. package Pack1; public class updown { public static void main(String[] args) { // TODO Auto-generated method stub A obja; B objb; obja=new B();//obja为子类B对…
public class A { private int a=1; public int getA() { return a; } public void setA(int a) { this.a = a; } public void a() { System.out.println("a="+a); } public void c() { System.out.println("a-1="+(a-1)); } } package jicheng; public c…
/*上转型和下转型(对象的多态性) *上转型:是子类对象由父类引用,格式:parent p=new son *也就是说,想要上转型的前提必须是有继承关系的两个类. *在调用方法的时候,上转型对象只能调用父类中有的方法,如果调用子类的方法则会报错 *下转型:是父类向下强制转换到子类对象 *前提是该父类对象必须是经过上转型的对象. * *代码示例:*/ abstract class Parent{ abstract void grow(); } class Son extends Parent{ v…
我们先来看个例子: public class Polymorphism extends BaseClass{ public String book="轻量级j2ee教程"; public void sub() { System.out.println("子类的普通方法"); } public void test() { System.out.println("子类覆盖父类的方法!"); } /** * @param args */ public…
上转型对象: 如果B类是A类的子类(或间接子类),当用子类创建对象b并将这个对象的引用放到父类对象a中时,如: A a; a = new b() 或 A a;B b = new B();a = b; 则称a是b的上转型对象. 对象b的上转型a的实体是有子类B创建的,但是上转型对象会失去子类B的一些属性和功能. 上转型对象具有以下特点 上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法.即为较子类B失去一些属性和功能,这些属性和功能是新增的. 上转型对象可以操作子类继承或隐藏的成员变量…
Object obj="hello"; 上面的obj是什么类型? object?NO!String?NO? 答案:编译阶段是Object类型,而在运行阶段是String类型.实际上obj是String类型.只不过分为编译和运行两个部分! 那为什么会发生这种情况呢? 我们知道:对于Object obj而言,程序声明了一个Object类型的变量! 而“hello”是一个String类型的对象 将Object类型的变量只想String类型的对象,由上篇可以看出这是一个上转型类型!变量由Str…
项目中会用到大量的图片和小视频,为了分担服务器压力,将文件都放在七牛云.这里的思路很简单, 就是移动端.pc端把文件上传到服务器,服务器做一个临时缓存,保存必要的信息到数据库后, 将文件上传到七牛云,最后删除服务器的缓存.当然,也可以直接让移动端.pc端把文件上传到七牛云, 七牛云在返回信息给服务器,这种方法虽然更佳,但是敲起代码来有点麻烦,复杂.  首先我们得到七牛云官网创建属于自己的空间 实名认证最后有大内存 登陆官网申请账号,然后建立对象储存空间Bucket . 作为练习建立公开空间即可…
1.对象的上转型,就是多态的一种写法 格式:父类名称 对象名 = new 子类名称(): Animal animal = new Cat(); 含义:右侧创建一个子类对象,把它当作父类来使用 向上转型一定是安全的,从小范围到大范围: 猫是动物,动物不一定是猫 类似于:double num = 100 ps:对象一旦向上转型为父类,就无法调用子类特定内容 上转型还可以在参数传递的时候隐型发生:例如 匿名类.子类对象 usbServe(USB usb) 调用时: 1.usbServe(new Key…
目录 第一章 对象导论第二章 一切都是对象第三章 操作符第四章 控制执行流程第五章 初始化与清理第六章 访问权限控制第七章 复用类第九章 接口 第一章 对象导论 1. 对象的数据位于何处? 有两种方式在内存中存放对象: (1)为了追求最大的执行速度,对象的存储空间和生命周期可以在编写程序时确定,这可以通过将对象置于堆栈或者静态存储区域内来实现.这种方式牺牲了灵活性. (2)在被称为堆的内存池中动态地创建对象.在这种方式,知道运行时才知道对象需要多少对象,它们的生命周期如何,以及它们的具体类型.…
JAVA类型信息——Class对象 一.RTTI概要 1.类型信息RTTI :即对象和类的信息,例如类的名字.继承的基类.实现的接口等. 2.类型信息的作用:程序员可以在程序运行时发现和使用类型信息. 3.RTTI真正含义:运行时,识别一个对象的类型. 4.如何在程序运行时识别对象和类的信息? 1)传统RTTI:即在编译时已知道了所有的类型. 2)反射机制:在程序运行时发现和使用类的信息. 5.RTTI的使用 import java.util.*;      //List支持泛型 //impor…
一 RTTI概念 认识Claa对象之前,先来了解一个概念,RTTI(Run-Time Type Identification)运行时类型识别,对于这个词一直是 C++ 中的概念,至于Java中出现RTTI的说法则是源于<Thinking in Java>一书,其作用是在运行时识别一个对象的类型和类的信息,这里分两种: 传统的”RTTI”:它假定我们在编译期已知道了所有类型(在没有反射机制创建和使用类对象时,一般都是编译期已确定其类型,如new对象时该类必须已定义好): 反射机制,它允许我们在运…
JAVA类型信息--Class对象 一.RTTI概要 1.类型信息RTTI :即对象和类的信息,例如类的名字.继承的基类.实现的接口等. 2.类型信息的作用:程序员可以在程序运行时发现和使用类型信息. 3.RTTI真正含义:运行时,识别一个对象的类型. 4.如何在程序运行时识别对象和类的信息? 1)传统RTTI:即在编译时已知道了所有的类型. 2)反射机制:在程序运行时发现和使用类的信息. 5.RTTI的使用 import java.util.*;      //List支持泛型 //impor…
父子对象之间的转换分为了向上转型和向下转型,它们区别如下: 向上转型 : 通过子类对象(小范围)实例化父类对象(大范围),这种属于自动转换 向下转型 : 通过父类对象(大范围)实例化子类对象(小范围),这种属于强制转换 1. 向上转型 示例1-向上转型 class A { public void print() { System.out.println("A:print"); } } class B extends A { public void print() { System.ou…
在数学中我们有集合的概念,所谓的一个集合,就是将数个对象归类而分成为一个或数个形态各异的大小整体. 一般来讲,集合是具有某种特性的事物的整体,或是一些确认对象的汇集.构成集合的事物或对象称作元素或是成员.集合具有:无序性.互异性.确定性. 而在我们计算机科学种集合的定义是:集合是一组可变数量的数据项(也可能是0个)的组合,这些数据项可能共享某些特征,需要以某种操作方式一起进行操作.一般来讲,这些数据项的类型是相同的,或基类相同(若使用的语言支持继承).列表(或数组)通常不被认为是集合,因为其大小…
java 上传文件  如果不依赖框架的话  要利用 Apache 中几个jar文件来处理   1.  给表单设置enctype属性,其值为 "multipart/form-data",另外,提交方式必须是post. 2.     在服务器端,不能够直接使用request.getParameter方法来获得数据. 只能使用InputStream request.getInputStream();通过分析这个字节流来获得数据.一般通过一些工具来分析. 3.要利用 Apache 中几个jar…
String拥有一个特殊点叫:String对象的内容不可改变!   在调用诸如String对象的replace()等方法时,不是在原Sting对象的基础上改变对象内容,而是创建了一个新的String对象把调用的方法后返回的结果放在这个新的String对象中 代码示例如下:   String str3 = "LOVO JAVA"; str3.replaceAll("JAVA", "J2EE");       打印输出:LOVO JAVASystem…
Intent对象和Bundle对象 功能主要是在 MainActivity中定义了2个EditText,当用户输入内容,把他传入到第二个活动, 自己新创的活动中,MyActivity中 放在MainActivity.java文件上 public class MainActivity extends ActionBarActivity { EditText et1; //activity_main.xml文件拖入两个EditText EditText et2; Button button; //拖…
synchronized同步方法 "非线程安全"其实会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是"脏读",也就是渠道的数据其实是被更改过的.而"线程安全"就是获得的实例变量的值是经过同步处理的,不会出现脏读现象. 方法内的变量为线程安全 "非线程安全"问题存在于"实例变量"中,如果是方法内部的私有变量,则不存在"非线程安全"问题,所得的结果也就是"线程…
java的几种对象(PO,VO,DAO,BO,POJO)解释     一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作. 二.VO:value object值对象.通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已.但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传…
接着来说这个JSON循环引用的问题: 关于JSON格式的转化,其实关键就是这几个依赖: <!-- json --> <!-- 1号 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.8.1</version> </depe…
注:引自http://zwmf.iteye.com/blog/1738574 关键字: java对象 引用 Java对象及其引用 关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没法很好地理解下面的面向对象技术.把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路. 为便于说明,我们先定义一个简单的类: class Vehicle { in…
在JDK的bin目录下有很多命令行工具: 我们可以看到各个工具的体积基本上都稳定在27kb左右,这个不是JDK开发团队刻意为之的,而是因为这些工具大多数是jdk\lib\tools.jar类库的一层薄包装而已,他们的主要功能代码是在tools类库中实现的.命令行工具的好处是:当应用程序部署到生产环境后,无论是直接接触物理服务器还是远程telnet到服务器上都会受到限制.而借助tools.jar类库里面的接口,我们可以直接在应用程序中实现功能强大的监控分析功能. 常用命令: 这次我主要介绍如下的一…
原文地址:java的几种对象(PO,VO,DAO,BO,POJO)解释作者:munandong 一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作. 二.VO:value object值对象.通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已.但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数…
https://github.com/ReactiveX/RxJava https://github.com/ReactiveX/RxAndroid RX (Reactive Extensions,响应式扩展编程)系列包含的组件包括:RxJava, RxAndroid, Retrofit, RxBinding, RxLifecycle, RxBus.     全由Square公司提供. RxBinding:RxBinding就是把 发布--订阅 的模式用在了android控件的点击,文本变化上.…
在<Java解惑>上面看到第八十三例--诵读困难者,要求使用非反射实现单例对象的拷贝.查阅了部分资料,先实现通过反射拷贝对象. 1. 编写需要被拷贝的对象Person package com.scl.j2se.reflectjavabean; public class Person { public String getName() { return name; } public void setName(String name) { this.name = name; } public St…
在Java构建工具的世界里,先有了Ant,然后有了Maven.Maven的CoC[1].依赖管理以及项目构建规则重用性等特点,让Maven几乎成为Java构建工具的事实标准.然而,冗余的依赖管理配置.复杂并且难以扩展的构建生命周期,都成为使用Maven的困扰. Gradle作为新的构建工具,获得了2010 Springy大奖,并入围了2011的Jax最佳Java技术发明奖.它是基于Groovy语言的构建工具,既保持了Maven的优点,又通过使用Groovy定义的DSL[2],克服了 Maven中…