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垃圾回收机制去回收
null&this&super&向上转型的更多相关文章
- 课堂所讲整理:super和转型(修改版)
创建父类: package org.hanqi.pn0120; public class Father { private String name; private int age; public S ...
- java多态-向上转型和向下转型
向上转型:符合“is a”,是安全的,子类向上到父类,多余的属性和方法会丢弃 向下转型:不安全的,用instanceof提前判断一下,以免抛出异常 instanceof用法: result = obj ...
- (原)java 向上转型中,任何域的访问操作都是由编译器解析,不是多态
最近在向java发力,学习学习了下.看到了多态这一节,书中有个比较好的例子,所以就准备写下来,记录下来: package dynamic_binding01; public class dynamic ...
- java的向上转型总结
在<think of java>中对'向上转型'有着如下的描述 看完之后很蒙圈,所以自己在网上找了一些描述,并自己做了简单的总结 简单的例子 class A{ public void A1 ...
- Java入门记(二):向上转型与向下转型
在对Java学习的过程中,对于转型这种操作比较迷茫,特总结出了此文.例子参考了<Java编程思想>. 目录 几个同义词 向上转型与向下转型 例一:向上转型,调用指定的父类方法 例二:向上转 ...
- java 向上转型 向下转型
//父类 四边形 class Quadrangle{ public static void draw (Quadrangle q){ } } //子类 public class Parallelog ...
- Java向上转型与向下转型
一.向上转型 例如:Parent p=new Son(); 这样引用p只能调用子类中重载父类的方法:但属性是父类的:如果想调用子类属性的话,可以用getter()方法. 二.向下转型 子类对象的父类引 ...
- Java中的向上转型和向下转型
首先要明白一点向上转型和向下转型他们都是建立在继承的基础上. 一.向上转型 子类到父类的转换通常称作向上转型,通俗的说就是定义父类对象指向子类对象. 下面通过一个例子来深入理解向上转型. //定义一个 ...
- C++ (P160—)多继承 二义性 虚基类 “向上转型”
1 多继承中,必须给每个基类指定一种派生类型,如果缺省,相应的基类则取私有派生类型,而不是和前一个基类取相同的派生类型 2 一个类的保护成员只能被本类的成员函数或者它的派生类成员函数访问 3 由于c+ ...
随机推荐
- 夺命雷公狗---node.js---16之项目的构建在node+express+mongo的博客项目1
废话不多说我们直接开工... 直接在目录下打开黑窗口: 然后就开始看看我们创建出来的文件了: 然后就开始创建项目下的目录了: 从这里就可以清晰的看得到我们的目录都是以前后台来分离开来的,引入模版也很简 ...
- 把Nodepad++添加进右键菜单
1.运行注册表编辑器:开始->运行->regedit 2.找到HKEY_CLASSES_ROOT/*/shell 3.右击shell,选择 新建->项 4.项的名字为Edit wit ...
- mtk的安卓手机刷机时出现的错误信息
手机已成砖,用过好多工具都没刷回来,以下是用smart phone flash tool刷机时出现的错误信息 ---------------------------Smart Phone Flash ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON FillUpShape1
zw版[转发·台湾nvp系列Delphi例程]HALCON FillUpShape1 procedure TForm1.Button1Click(Sender: TObject);var img : ...
- cvCreateImage函数说明(转载)
cvCreateImage是openCV中的一个函数.OpenCV是Intel公司支持的开源计算机视觉库. cvCreateImage:创建首地址并分配存储空间 IplImage* cvCrea ...
- Openstack的mysql数据多主galera的错误
登录openstack的在dashboard,提示说权限验证错误,有2种情况: 1. 密码被人改了. 2. 系统发生了问题. 密码确认没人改,所以查看/var/log/keystone-all.log ...
- java中枚举类的使用详解
/* * 通过JDK5提供的枚举来做枚举类 */ public enum Direction2 { FRONT("前"), BEHIND("后"), LEFT( ...
- Linux环境变量的修改(永久,暂时)以及修改ls显示的时间格式
本文转自:http://blog.sina.com.cn/s/blog_8e21864f01014u9h.html Linux修改环境变量,很简单但很重要 一.Linux的变量种类 按变量的生存周期来 ...
- Quartz集群原理及配置应用
1.Quartz任务调度的基本实现原理 Quartz是OpenSymphony开源组织在任务调度领域的一个开源项目,完全基于Java实现.作为一个优秀的开源调度框架,Quartz具有以下特点: (1) ...
- 模拟namenode崩溃,使用secondarynamenode恢复
方法一.使用namespaceID 1.在namenode节点上,将dfs.name.dir指定的目录中(这里是name目录)的内容情况,以此来模拟故障发生. [hadoop@node1 name]$ ...