Java基础 ----- 判断对象的类型】的更多相关文章

1. 判断对象的类型:instanceOf 和 isInstance 或者直接将对象强转给任意一个类型,如果转换成功,则可以确定,如果不成功,在异常提示中可以确定类型 public static void main(String[] args) { Integer i = new Integer(10); System.out.println(i instanceof Integer); // 知道类型名 String parentClass = "java.lang.String";…
Java基础教程:枚举类型 枚举类型 枚举是将一具有类似特性的值归纳在一起的方法.比如,我们可以将周一到周日设计为一个枚举类型.彩虹的七种颜色设计为一个枚举类型. 常量实现枚举 我们通过定义常量的方式来实现,如下: Public static class RainbowColor { // 红橙黄绿青蓝紫七种颜色的常量定义 public static final int RED = 0; public static final int ORANGE = 1; public static fina…
程序计数器,虚拟机栈和本地方法栈 首先我们先来看下垃圾回收中不会管理到的内存区域,在Java虚拟机的运行时数据区我们可以看到,程序计数器,虚拟机栈,本地方法栈这三个地方是比较特别的.这个三个部分的特点就是线程私有的,它们随着线程的创建而诞生,也因线程的结束而灭亡.栈中的栈帧随着方法的进入和退出会有条不絮的执行着进栈和出栈.每一个栈帧中分配多少内存,基本上是在类结构确认下来的时候就已知的,因此这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需要过多考虑回收的问题,因为方法结束或者线程结束…
JavaScript判断对象的类型 最近阅读了一些关于JavaScript判断对象类型的文章.总结下来,主要有constructor属性.typeof操作符.instanceof操作符和Object.prototype.toString()方法这四个方式来判断对象的类型. constructor属性 构造函数预定义的constructor属性是构造函数本身. var Foo = function(){}; Foo.prototype.constructor === Foo;//true 通过ne…
java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者特殊功能的关键词,不能用着标识符 3.注释 java代码中不会编译,帮助介绍代码的文字片段 三种注释方式,分别是单行注释(//).多行注释(/* */)和文档注释(/** */) 4.基本数据类型 基本类型有以下四种: int长度数据类型有:byte(8bits).short(16bits).int…
大家可能知道js中判断对象类型可以用typeof来判断.看下面的情况 <script> alert(typeof 1);//number alert(typeof "2");//string alert(typeof [1,2,3]);//object alert(typeof {"name":"zhuhui"})//object </script> 从上面中我们可以看出数组和普通对象用typeof判断出来都是object…
引用计数算法:   给对象添加一个引用计数器,每当有地方应用时,计数器值就加一,当引用失效时,程序计数器就减一,只要引用计数器的值为零时,就表示对象不可能再被引用,例如微软的 component object model技术就使用了这种用法.然而java中并没使用这种方式,因为这种方式很难解决对象中的循环引用问题. 例如对象A和对象B,其中对象A中有一个属性,叫instance,且A.instance=B,相反B中也有一个属性叫instance,且B.instance=A,这两个对象互相引用着对…
首先来看一下工具StringUtils的判断方法:    一种是org.apache.commons.lang3包下的:    另一种是org.springframework.util包下的.这两种StringUtils工具类判断对象是否为空是有差距的: StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils类,判断是否为空的方法参数是字符序列类,也就是String类型 StringUtils.…
对象导论 1.1 抽象过程 所有编程语言都提供抽象机制.人们所能解决的问题的复杂性直接取决于抽象的类型和质量. 汇编语言是对底层机器的轻微抽象. 我们将问题空间中的元素及其再解空间中的表示称为对象.这种思想实质是:程序可以通过添加新类型的对象使自身适用于某个特定的问题. 万物皆为对象 可以抽取待求解问题的任何概念化构建表示程序中的对象. 程序是对象的集合 他们通过发送消息来告知彼此所要做的. 每个对象都有自己的由其他对象所构成的存储 每个对象都拥有其类型 某一特定类型的所有对象都可以接收同样的消…
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 下图中男孩女孩为类,而具体的每个人为该类的对象: Java中的对象 现在让我们深入了解什么是对象.看看周围真实的世界,会发现身边有很多对象,车,狗,人等等.所有这些对象都有自己的状态和行…
1. 什么是Java对象序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长.但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象.Java对象序列化就能够帮助我们实现该功能. 使用Java对象序列化,在保存对象时,会把其状态保存为一组字节,在未来,再将这些字节组装成对象.必须注意地是,对象序列化保存的是对象的"状态",…
在判断flex对象的类型之前,首先是获取对象类型,获取的方式有: mx.utils.NameUtil.getUnqualifiedClassName(object:Object):String  //获取对象类型name flash.utils.getQualifiedClassName(value:*):String  //获取对象类型全称 比较的方式:本人使用的是 instanceof 返回的是true/false 此外还可以参照: flex获取对象类型 并通过类名实例化对象 Flex的四种…
一.基本类型的简介 基本类型的两条准则: Java中,如果对整数不指定类型,默认时int类型,对小数不指定类型,默认是double类型. 基本类型由小到大,可以自动转换,但是由大到小,则需要强制类型转换.所占的字节数: byte: 1个字节; char: 2个字节; short: 2个字节; int: 4个字节; long: 8个字节; float: 4个字节;(6位小数,指数是:10^-38~10^38; 范围:) double: 8个字节; char:Java中用 \u四位十六进制的数字 (…
第一讲     System类 一.概述 1.System是描述系统一些信息的类,类中的属性和方法都是静态的.不能被实例化,没有提供构造函数. 2.字段摘要 out:标准输出流.默认是控制台. in:标准输入流.默认是键盘. 二.方法 1.获取系统的属性信息: PropertiesgetProperties(); 说明: 1)此方法返回的双列集合,即键值对:因为Properties是Hahstable的子类,也就是Map集合的一个子类对象,那么通过Map方法取出该集合中的元素. 2)该集合存储的…
一 容器的用途 如果对象的数量与生命周期都是固定的,自然我们也就不需要很复杂的数据结构. 我们可以通过创建引用来持有对象,如 Class clazz; 也可以通过数组来持有多个对象,如 Class[] clazs = new Class[10]; 然而,一般情况下,我们并不知道要创建多少对象,或者以何种方式创建对象.数组显然只能创建固定长度的对象,为了使程序变得更加灵活与高效,Java类库提供了一套完整的容器类,具备完善的方法来解决上述问题. 从上图可以看到容器中有七大接口: Collectio…
对象比较 如果说现在有两个数字要判断是否相等,可以使用"=="完成 如果是字符串要判断是否相等使用"equals()" 但是如果说现在有一个自定义的类,要想判断它的两个对象是否相等,那么必须要实现类对象之中所有属性内容的比较. 范例:基础的比较方式 class Book { private String title; private double price; public Book(String title, double price) { this.title…
本文主要记录JAVA中对象的初始化过程,包括实例变量的初始化和类变量的初始化以及 final 关键字对初始化的影响.另外,还讨论了由于继承原因,探讨了引用变量的编译时类型和运行时类型 一,实例变量的初始化 一共有三种方式对实例变量进行初始化: ①定义实例变量时指定初始值 ②非静态初始化块中对实例变量进行初始化 ③构造器中对实例变量进行初始化 当new对象 初始化时,①②要先于③执行.而①②的顺序则按照它们在源代码中定义的顺序来执行. 当实例变量使用了final关键字修饰时,如果是在定义该fina…
在JavaScript里使用typeof判断数据类型,只能区分基本类型,即:number.string.undefined.boolean.object. 对于null.array.function.object来说,使用typeof都会统一返回object字符串. 要想区分对象.数组.函数.单纯使用typeof是不行的.在JS中,可以通过Object.prototype.toString方法,判断某个对象之属于哪种内置类型. 分为null.string.boolean.number.undef…
判断是否为函数 function isFunction(it) {        return Object.prototype.toString.call(it) === '[object Function]';    } 判断是否为数组: function isArray(o) {   return Object.prototype.toString.call(o) === '[object Array]';  } 由于 JavaScript 中一切都是对象,任何都不例外,对所有值类型应用…
String类概述 字符串是由多个字符组成的一串数据字符串可以看成是字符数组 构造方法 public String(String original)public String(char[] value)public String(char[] value,int offset,int count)直接赋值也可以是一个对象 注意:字符串是比较特殊的引用类型,直接输出该字符串对象打印的不是地址值而是该对象的值. 两个string不能用==判断是否相等,因为引用数据类型比较的是引用数据类型的地址值是否…
  枚举类型定义了一个枚举值的列表,每个值是一个标识符.例如,下面的语句声明了一个枚举类型,用来表示星期的可能情况: public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }   实际上,这个声明定义的类型是一个类,它有7个实例.因此,在比较两个枚举类型的值时,永远不需要调用equals,直接使用"=="就可以了.   枚举类型的值类似于一个常量,因此,按照惯例拼写都使用大写字母…
1.java的基本数据类型 1.数值型  { 整数型   byte  , short  ,int  ,long 浮点型   float , double } 2.字符型 3.布尔型 2.运算符 1.赋值运算符  就是给一个变量赋值  最简单的  int  a=110:2. 2.算术运算符 +  - * /   % %重点  就是取余数   12%10    得出的答案就是   2 3.自增和自减运算符(单目运算符) ++/-- i :    在使用i之前 先让i加/减  然后执行代码   i++…
正文 java中的八种基础类型. boolean:只有两个值,false,true 带符号类型 byte:占用1个字节,一个字节也就是8位,那么由于是最高一位是用来表示 负还是正,所以范围就是 -2^7 ~ 2^7-. short:占2个字节,16位,范围-2^15~2^15-1 int:占用4个字节,32位,范围 -2^31~2^31-1 long:占用8个字节,64位,范围 -2^63~2^63-1 浮点型 float:占用4个字节,32位,可取值范围:-3.40e38 — 3.403e38…
Java 变量类型 一.局部变量:类的方法中的变量 局部变量声明在方法.构造方法或者语句块中: 局部变量在方法.构造方语句块中被执行的时候创建,当他们执行完成后,变量被销毁 访问修饰符不能用于局部变量中: 局部变量值在声明他的方法.构造方法或者语句块中可见: 局部变量没有默认值,所以局部变量被声明后必须经过初始化才可以使用 实例 package HelloJava; public class JuBuBianLiang { public void age() { int age =0; age…
所有的类(以Dog类为例)在第一次使用时,动态的加载到JVM中,当首次创建Dog对象时,或者是Dog类的静态方法.静态属性域在第一次被访问时,JVM解释器查找到classpath,定位到Dog.class文件 载入Dog.class文件,生成一个class类型对象,所有有关的静态初始化动作(静态代码块.静态属性)都会被执行,并且这种初始化动作只在class对象首次加载时进行一次(包括父类的静态代码块.静态属性) 当用new Doa()创建对象时,首先JVM在堆上为Dog对象分配足够的存储空间 自…
对象的创建 Test test = new Test(); Test test = new Test("a"); 其实,对象被创建出来时,对象就是一个对象的引用,这个引用在内存中为对象分配了存储空间,可以在构造方法中初始化成员变量,当创建对象时,自动调用构造方法,也就是java中初始化与创建是被捆绑在一起的. 每个对象都是独立的,在内存中占据独立的内存地址,并且每个对象都有自己的生命周期,当一个对象生命周期结束时,对象就会变成垃圾,由java虚拟机自带的垃圾回收机制处理.…
面对对象--概述 什么是对象? +---->对象可以泛指一切现实中存着的事物 +---->类是对象的抽象集合 什么是面对对象? +--->万物皆对象,面对对象实际就是人与万物接触====>面对对象 为什么要使用面对对象语言? +--->面对对象符合现实生活,是计算机语言更加符合现实逻辑,从而实现更好的为人服务. 面对对象有什么好处? +--->相比面对过程语言,面对过程的--->事事亲为 .  +--->面对对象相当于请他人做事,能够快速的完成,讲究相互协调…
package com.mon10.day22; /** * 类说明 :枚举类型,案例二 * * @author 作者 : chenyanlong * @version 创建时间:2017年10月22日 */ public class EnumDemoTwo { public enum ColorSelect { red, green, yellow, blue; } public static void main(String[] args) { /* * 枚举类型是一种类型,用于定义变量,用…
值类型当做参数传进方法: 引用类型对象当做参数传进方法: String字符串当做参数传进方法:…
单个对象 1.进入main函数,生成main函数的栈空间 2.先在mian函数的栈空间里产生一个Student变量(以后会用来存储Studnet对象的首地址),然后进入Student类,在堆内存创建String和int类型的变量,并赋上初值 3.将在堆内存的对象的首地址赋值给在栈内存的Studnet变量s,即这个对象创建完毕.然后该程序输出了该对象的地址值 4.取值拼接输出,然后再修改值,拼接输出 5.调用Student类的函数,创建study函数的栈空间,然后执行函数代码,执行完之后消除栈空间…