随笔分类 - emanual_java基础_java基础
摘要:不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非sta
阅读全文
摘要:(1)前言,想要明白hashCode的作用,你必须要先知道Java中的集合。 Java中的集合(Collection)有两类,一类是List,再有一类是Set。 前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。 那么我们怎么判断两个元素是否重复呢? 这就是Object.equa
阅读全文
摘要:ClassLoader一个经常出现又让很多人望而却步的词,本文将试图以最浅显易懂的方式来讲解 ClassLoader,希望能对不了解该机制的朋友起到一点点作用。 要深入了解ClassLoader,首先就要知道ClassLoader是用来干什么的,顾名思义,它就是用来加载Class文件到JVM,以供程
阅读全文
摘要:调用该访问 返回一个以字符串指定类名的类的对象。 返回字节码,返回字节码的方式有几种: ①:这份字节码曾经被加载过已经存在java虚拟机中了直接返回。 ②:java虚拟机中还没有这份字节码,用类加载器去加载 把加载进来的字节码缓存在虚拟机中,以后再得到这个字节码就不用再加载。 得到字节码对应的实例对
阅读全文
摘要:含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以
阅读全文
摘要:Overload是重载的意思,Override是覆盖的意思,也就是重写。 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。 重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个
阅读全文
摘要:断言(assert):用来调试、测试代码。 格式: assert 布尔表达式: 字符串 (如果布尔表达式为false时,这个字符串才会显示)。 注意: assert默认是关闭的,使用时需要使用" -ea "进行开启," -da "是关闭,如:java -ea 类名。 断言是以异常方式去执行的,当断言
阅读全文
摘要:==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。 如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet o
阅读全文
摘要:一、异常的定义 在《java编程思想》中这样定义 异常:阻止当前方法或作用域继续执行的问题。虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常。绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败。之所以java要提出异常处理机制,就是要告诉开发人员,你的
阅读全文
摘要:定义: 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类 为什么需要内部类
阅读全文
摘要:String:不可改变的Unicode字符序列。 池化思想,把需要共享的数据放在池中,用一个存储区域来存放一些公用资源以减少存储空间的开销。 在String类中,以字面值创建时,会到Java方法空间的串池中去查找,如果没有则会在串池里创建一个字符串对象,并返回其地址赋给对象变量,如果有就返回串池中字
阅读全文
摘要:Object类的方法有: hashCode(): 返回该对象的哈希码值 hashCode 的常规协定是: 在 Java 应用程序执行期间,在同一对象上多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是对象上 equals 比较中所用的信息没有被修改。 如果根据 equals(Obj
阅读全文
摘要:Java包装类,Wrapper~由于在java中,数据类型总共可分为两大种,基本数据类型(值类型)和类类型(引用数据类型)。基本类型的数据不是对象,所以对于要将数据类型作为对象来使用的情况,java提供了相对应的包装类。对于8种数据类型的包装类分别是: 包装类提供了很多互相转换的方法,这里不一一细说
阅读全文
摘要:接口的定义:接口从本质上说是一种特殊的抽象类。 关键字interface。 在接口中,所有的方法为公开、抽象的方法:public abstract。 在接口中,所有的属性都是公开、静态的常量:public static final。 接口与接口之间可以多继承,用extends,多个之间用逗号隔开。
阅读全文
摘要:abstract表示抽象的,是最重要的一个修饰符,可以修饰类和方法。分别叫做抽象方法和抽象类。人们在认识事物的时候,会把具有相同特征和行为的事物归为一个抽象类。比如动物就是一个很抽象的概念。当得到动物的实例时,总是某个具体物种的实例。所以说,在需要某个抽象类的实例时,只能够用某个具体类的实例来代替。
阅读全文
摘要:Java提供了public, private, protected 三个访问权限修饰词,提供了以下四种访问权限控制机制: 1、包访问权限; 2、Public访问权限; 3、Private访问权限; 4、Protected访问权限; 1、包访问权限 包访问权限是Java为了便于程序员开发而给定的一种权
阅读全文
摘要:把对象相关的变成类相关的,它可以修饰属性、方法、代码块和内部类。 static修饰属性(类变量): 那么这个属性就可以用" 类名.属性名 "来访问,也就是使这个属性成为本类的类变量,为本类对象所共享。 类加载的过程,类本身也是保存在文件中(字节码文件保存着类的信息)的,java会通过I/O流把类的文
阅读全文
摘要:不允许改变,可以修饰变量、方法、类。 final修饰变量: 被final修饰的变量就会变成常量,一旦赋值不能改变。 常量可以在初始化时直接赋值,也可以在构造方法里赋值,只能在这两种方法里二选一,不能不为常量赋值。 常量不会有默认初始值。 锁定栈,使栈中的数据不可以改变。 静态常量只能在初始化时直接赋
阅读全文
摘要:Java 串行化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行化机制是RMI、EJB等技术的技术基础。用途:利用对象的串行
阅读全文
摘要:类:主观抽象,是对象的模板,可以实例化对象。 习惯上类的定义格式: 定义属性:实例变量。 格式:[ 修饰符 ] 类型 变量名 [ = ? ] 实例变量定义在类中但在任何方法之外。 实例变量有默认值:各种各样的0。(同数组) 实例变量的作用域至少在本类内部,受访问控制符的限制。 在重合作用域,实例变量
阅读全文