null&this&super&向上转型

向上转型:父类声明子类实例化对象 例如A是父类 B是子类
    1 : 实际上是父类的对象但将会丢失子类没有的父类方法 ,如果调用方法 将会调用子类重写的父类方法
    2:上转型对象不能调用子类新增的成员变量和子类新增的方法
    3:上转型对象可以调用子类继承或重写的成员变量和方法
    4:如果子类重写了父类的某个方法后,当对象的上转型对象调用这个方法时,调动的一定是子类重写的方法

final的用法?
    1:修饰变量 是常量
    2:修饰方法 是最终方法 不能被覆盖
    3:修饰类 不能被继承
this的用法?
    1:指向当前对象或示例
    2:当我们使用的形式参数和成员变量名字相同时,这时要用this指明成员变量
super的用法?
    1:super用来引用当前对象的父类
    2:用来访问父类别隐藏的成员变量,如 super.variable
    3:用来调用父类被重写的方法 如 super.Method([paramlist])
    4:用来调用父类的构造方法 如 super([paramlist])
null关键字的用法?
    java中,变量的使用都遵循一个原则,先定义,并且实例化后才能使用。有时候,我们定义一个引用对象,但是指定值,程序可能在try语句块中初始化。这时候我们使用变量的时候就会出错。所以我们可以先给变量指定一个null值,问题就解决了。如
    Connection conn = null;
        try {
            conn = DriverManager.getConnection(null, null, null);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    1:null用来标识一个不确定的对象,因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量 如 int a = null 是错误的 而 object o = null是正确的
    2:null本身不是对象,也不是Object的实例
    3:java默认变量赋值
        3.1:整数类型 int short long byte 默认值为0
        3.2:非整数 float double 默认值0.0
        3.3:boolean 类型 默认值false
    4:容器类型与null
        4.1:List:允许重复元素,可以加入任意多个null
        4.2:Set:不允许重复元素,最多可以加入一个null
        4.3:Map: 其key最多可以加入一个null,value字段没有限制
        4.4:数组;基本类型数组,定义后如果不给定初始值,则java运行时会自动给定值。引用其数组,则所有的元素值为null
    5:null其他作用
        5.1:判断一个引用类型是否null,用==来判断
        5.2:释放内存,让一个非null的对象指向null向null,这样这个对象就不在被任何对象应用了,等待JVM垃圾回收机制去回收

时间: 2024-10-01 02:47:12

null&this&super&向上转型的相关文章

重新认识java(五) ---- 面向对象之多态(向上转型与向下转型)

多态,大概每个人都知道.但是,又有几个人真的理解什么是多态.多态有哪些细节呢?如果你看到这篇文章的名字,脑海中对多态没有一个清晰的概念,不妨点进来看看,也许会有收获. 什么是多态 简单的理解多态 多态,简而言之就是同一个行为具有多个不同表现形式或形态的能力.比如说,有一杯水,我不知道它是温的.冰的还是烫的,但是我一摸我就知道了.我摸水杯这个动作,对于不同温度的水,就会得到不同的结果.这就是多态. 那么,java中是怎么体现多态呢?我们来直接看代码: public class Water { pu

J2SE快速进阶——向上转型及其内存分析

还记得刚通过C#学习面向对象时,接触了对象转型,最近学习Java,又遇到了.这里再用Java分析一下对象的转型,并适当利用内存分析来加深理解. 向上转型 我们都知道,狗是动物中的一种,那么如果现在有一个Dog类和Animal类,那么他们的关系就是Dog类继承Animal类. 我们经常说,狗是动物,实际上"狗是动物"这句话就是向上转型的一个例子,即把狗(子类)当做动物(父类)来看待.用一句话来总结,向上转型就是父类的引用指向子类的实例. 实例说明&&内存分析 下面就用一个

(原)java 向上转型中,任何域的访问操作都是由编译器解析,不是多态

最近在向java发力,学习学习了下.看到了多态这一节,书中有个比较好的例子,所以就准备写下来,记录下来: 1 package dynamic_binding01; 2 3 public class dynamic_binding01 { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 7 Super super1=new Sub(); 8 System.out.println("s

【java入门点滴】向上转型与向下转型

向上转型: 简单理解就是由 子类--->基类 转换的过程.在此过程中,唯一发生的事情就是“子类新增方法的丢失”.我个人理解这个过程是:子类--①-->基类--②-->子类(阉割版) 在过程 ①,会把子类扩展新增方法给丢弃掉: 在过程 ②,通过“后期绑定(多态)”,检测到子类对象:但是,需要注意的是:如果基类中有方法,而子类中并没有重新实现,那么依然会调用基类中的方法:具体参看下面的demo: 需要特别注意的是:“动态绑定”,不包含声明为private(private其实也被编译为了fin

【转】面向对象之多态(向上转型与向下转型)

转:https://blog.csdn.net/qq_31655965/article/details/54746235. 多态,大概每个人都知道.但是,又有几个人真的理解什么是多态.多态有哪些细节呢?如果你看到这篇文章的名字,脑海中对多态没有一个清晰的概念,不妨点进来看看,也许会有收获. 什么是多态 简单的理解多态 多态,简而言之就是同一个行为具有多个不同表现形式或形态的能力.比如说,有一杯水,我不知道它是温的.冰的还是烫的,但是我一摸我就知道了.我摸水杯这个动作,对于不同温度的水,就会得到不

Java向上转型和向下转型(附具体样例)

                                            Java向上转型和向下转型(附具体样例) 熬夜整理的关于Java向上和向下转型的样例,很的通俗易懂哦~~~~ 一.向上转型 package com.sheepmu; class Animal { public void eat() { System.out.println("父类的 eating..."); } } class Bird extends Animal { @Override publ

接口回调和向上转型

抄别人的,但为了自己掌握更加的踏实,所以复制到这里,拜谢原创!http://blog.csdn.net/u014025369/article/details/24707525 接口回调是指:可以把使用实现了某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法.实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调.看下面示例.interface People {     void people

向上转型和向下转型

对象的多态性: 向上转型:子类对象变为父类对象 向下转型:父类对象变为子类对象 class A{ public void print(){ System.out.println("A"); } } class B extends A{ public void print(){ System.out.println("B"); } } class C extends A{ public void print(){ System.out.println("C&

java向上转型和向下转型

一直不太明白这个概念,于是在网上搜索了一下文章转载自:http://www.cnblogs.com/fickleness/p/3149011.html 转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展. 向上转型:子类引用的对象转换为父类类型称为向上转型.通俗地说就是是将子类对象转为父类对象.此处父类对象可以是接口 向下转型:父类引用的对象转换为子类类型称为向下转型. 前者