![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA基础
qq_29842929
这个作者很懒,什么都没留下…
展开
-
负数在计算机中的转换过程
原码:一个正数,按照绝对值大小转换成的二进制数; 一个负数按照绝对值大小转换成的二进制数,然后最高位补1,称为原码。例子:int 类型的数字8,那么8的绝对值的二进制0000 0000 0000 0000 0000 0000 0000 1000 8的原码:0000原创 2016-12-02 11:09:56 · 1558 阅读 · 1 评论 -
final数据
import java.util.Random;public class FinalData { static class Value { int i; public Value(int i) { this.i = i; } } private static Random rand = new Random(47); private String id; pu原创 2016-12-08 15:15:54 · 195 阅读 · 0 评论 -
final参数
class Demo { public void spin() { }}public class FinalArguments { void with(final Demo d) { d = new Demo();//报错 因为d是final } void without(Demo d) { d = new Demo(); d.spin(); } int g原创 2016-12-08 15:51:33 · 213 阅读 · 0 评论 -
final方法
class WithFinals { private final void f() { System.out.println("WithFinals.f()"); } // 类中所有的private方法都隐式指定是final private void g() { System.out.println("WithFinals.g()"); }}class Overridin原创 2016-12-08 16:17:10 · 381 阅读 · 0 评论 -
final类
public class finalClass {}class B {}final class T { int i = 7; int j = 1; B b = new B();}// class G extends T {//// }当final修饰整个类时,说明了不打算继承该类final类中所有的方法都隐式指定为final, 在final类中可以给方法添原创 2016-12-08 17:12:48 · 187 阅读 · 0 评论 -
继承与初始化
在java运行Car类的时候,第一件事就是师徒访问mai()方法(一个static方法),于是加载器开始启动并找出Car.class类的编译代码(在名为Car.class的文件中),在对他惊醒加载的过程中,编译器注意到它有一个基类,于是继续进行加载,不管你是发打算产生一个该基类的对象,这都要发生。当必要的类都加载完毕,对象就可以被创建了。首先,对象中所有的基本类型都会被原创 2016-12-08 18:04:45 · 206 阅读 · 0 评论 -
abstract不可以和哪些关键字共存
private:abstract是表明希望被覆盖的,但是private,子类看不到。static:如果是static就需要创建对象但abstract不需要创建对象(没有意义)final:final表示不能被子类覆盖abstract表名希望被覆盖原创 2016-12-09 11:29:50 · 5012 阅读 · 1 评论 -
成员函数与静态函数
成员函数编译看等号左边,运行看等号右边(即实际变量)public class Demo { public static void main(String[] args) { fu f = new zi(); System.out.println(f.num);//编译报错 }}class fu { //int num = 3;}class zi extends原创 2016-12-09 11:12:25 · 218 阅读 · 0 评论 -
多态
如果某个方法是静态的,它的行为就不具有多态性public class test{ public static void main(String[] args) { superST sst = new sub(); System.out.println(sst.st());//输出super st System.out.println(sst.dt());//输出sub dt }原创 2016-12-09 13:50:11 · 190 阅读 · 0 评论 -
构造器调用顺序
public class Demo1 extends portableLunch { private Bread b = new Bread(); private Cheese c = new Cheese(); private Lettuce le = new Lettuce(); private portableLunch aa = new portableLunch(); pub原创 2016-12-09 14:56:19 · 324 阅读 · 0 评论 -
io中的AutoCloseable,Closeable和Flushable接口
AutoCloseable是在java.lang中的(1.7才有的)Closeable(1.5才有的)接口继承了AutoCloseable接口public void close()关闭此流并释放与此流关联的所有系统资源。继承Closeable接口,使代码更简洁,更清晰当try代码快结束时,资源(在此时流)会被自动关闭import java.io.Buff原创 2017-01-09 15:46:12 · 1953 阅读 · 0 评论 -
JAVA 初识Class类
public class ClassTest { public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException { Class c = Class.forName("com.dave.java.lang.Class原创 2017-05-25 16:51:54 · 178 阅读 · 0 评论 -
使用单枚举类型实现单例
public enum SingleTonA implements Serializable { INSTANCE; private String field; public String getField() { return field; } public void setField(String field) { this.field = field; }}imp原创 2017-06-02 11:15:27 · 479 阅读 · 0 评论 -
前端事件 持续补充
1.bind(type,[data],fun)第一个参数blur、focus、load、resize、scroll、unload、click、dbclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleave、change、select、submit、keydown、keypress、keyup和error等原创 2017-07-11 15:08:09 · 263 阅读 · 0 评论 -
JavaWeb-POST与GET
POST与GET区别GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。GET请求会被浏览器主动cache,而POST不会,除非手动设置。GET请求只能进行url编码,而POST支持多种编码方式。GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。GET请求在URL中传送的参数是有长...转载 2018-06-21 19:19:20 · 338 阅读 · 0 评论 -
String的不可变性
public class test165 { public static void main(String[] args) { String s = "Hello World"; s = s.toUpperCase(); System.out.println(s); s = s.substring(6, 11); System.out.println(s); }}ou原创 2016-12-06 19:50:02 · 178 阅读 · 0 评论 -
java 构造器
public class Chess extends BoardGame { Chess() { super(11); System.out.println("Chess constructor"); } public static void main(String[] args) { Chess x = new Chess(); }}class BoardGame原创 2016-12-08 11:15:23 · 144 阅读 · 0 评论 -
java运算符(与,或,非,异或)
public class test{ // 与运算符用符号“&”表示 // 只有两个位都是1,结果才是1,可以知道结果就是1,即1 public static void main(String[] args) { int a = 1; int b = 129; System.out.println(a + "原创 2016-12-02 09:34:20 · 5064 阅读 · 0 评论 -
s1 = (short) (s1 + 1) 与s2 += 1
public class t { public static void main(String[] args) { short s1 = 1; s1 = (short) (s1 + 1);//如果是s1=s1+1; 编译会报错 short s2 = 1; s2 += 1; }}经过反编译后short s1 = 1; s1 = (short) (s1 + 1);原创 2016-12-05 10:11:56 · 402 阅读 · 0 评论 -
Math.round()
public class test { public static void main(String[] args) { System.out.println(-11.6 + 0.5); System.out.println(Math.round(-11.6)); System.out.println(-11.4 + 0.5); System.out.println(Math.r原创 2016-12-05 10:22:53 · 230 阅读 · 0 评论 -
run()与start() sleep()与wait()
run()与start()启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。sleep()与wait() sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复原创 2016-12-05 10:45:57 · 609 阅读 · 0 评论 -
Request对象的主要方法
setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例 getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组 g原创 2016-12-05 11:44:29 · 220 阅读 · 0 评论 -
java 访问权限控制
访问权限等级 :public>protected>包访问权限(没有关键词)>private 包访问权限 :当前包中所有其他类对那个成员都有访问权限,但对于这个包之外的的所有类,这个成员确实private(继承而来的类既可以访问public成员也可以访问protected成员,但访问private成员却不行)private:除了包含该成员的类之外,其他任何类都无法访问这个成员原创 2016-12-02 19:19:13 · 178 阅读 · 0 评论 -
抽象类和接口的区别
抽象类和接口的区别 ① 接口中的方法都是抽象方法,不必写abstract ② 接口中的属性为static final 静态不可修改的常量 ③ 最大区别是一个类可以实现多个接口,但只能继承一个抽象类 ④ 抽象类中可以有非抽象方法 面向功能用接口,面向继承用抽象类;如果属性得继承用抽象类;原创 2016-12-05 16:32:22 · 187 阅读 · 0 评论 -
java对象池
public class Test { public static void main(String[] args) { String s1 = "hi"; String s2 = "hi"; System.out.println(s1 == s2); String s3 = new String("hi"); System.out.println(s1 == s3);原创 2016-12-05 16:35:18 · 163 阅读 · 0 评论 -
String与StringBuffer与StringBuilder
String类与StringBuffer类String类提供了数值不可改变的字符串StringBuffer类提供的字符串进行修改当你知道字符数据要改变的时候你就可以使用StringBuffer典型地,你可以使用StringBuffers来动态构造字符数据。原创 2016-12-04 17:43:01 · 208 阅读 · 0 评论 -
JSON字符串
java.io.Serializable接口是可以进行序列化的类的标志性接口,该接口本身没有任何需要实现的方法,仅提供一个能唯一辨别一个类的serialVersionUID.序列化:ObjectInputStream.readObject()反序列化:ObjectOutputStream.writeObject()import com.alibaba.fastjson.原创 2016-12-05 14:21:36 · 161 阅读 · 0 评论 -
java反射机制
反射的原理反射是为了能够动态的加载一个类,动态地调用一个方法,动态地访问一个属等动态要求而设计的。它的出发点在于JVM会为每个类创建一个java.lang.Class类的实例,通过该对象可以获取这个类的信息,然后通过使用java.lang.reflect包下的API以达到各种动态要求。类在以下情况下会被加载:需要使用该类创建对象。如Student s = new原创 2016-12-06 09:22:38 · 148 阅读 · 0 评论 -
静态变量与成员变量的区别
1.成员变量随着对象的创建而存在,随着对象的被回收而释放。静态变量随着类的加载而存在,随着类的消失而消失。2.成员变量只能被对象调用。静态变量可以被对象调用,还可以被类名调用。3.成员变量也称为实例变量。静态变量也称为类变量。4.成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据。静态变量数据存储在方法区(的静态区),所以也叫对象的共享数据。原创 2016-12-06 11:44:23 · 328 阅读 · 0 评论 -
单例模式
解决的问题:可以保证一个类在内存中的对象唯一性对象唯一性1.不允许其他程序用new创建对象。2.在该类创建一个本类实例。3.对外提供一个方法让其他程序可以获得该对象。步骤:1.私有化该类构造函数。2.通过new在本类中创建一个本类对象。3.定义一个共有的方法,将创建的对象返回。饿汉式:(饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改原创 2016-12-06 11:45:53 · 207 阅读 · 0 评论 -
正整数转换为String类型
编写一段代码,将一个正整数N 用二进制表示并转换为一个String 类型的值s。public class test{ public static void main(String[] args) { int N = 123; StringBuilder s = new StringBuilder(); for (int n = N; n > 0; n /= 2) { s =原创 2016-12-07 11:16:16 · 271 阅读 · 0 评论 -
为什么equals()与hashCode(),这两个方法需要一起覆盖?
在哈希表中,当我们向其添加对象object时,首先调用hashCode()方法计算object的哈希码,通过哈希码可以直接定位object在哈希表中的位置(一般是哈希码对哈希表大小取余)。如果该位置没有对象,可以直接将object插入该位置;如果该位置有对象(可能有多个,通过链表实现),则调用equals()方法比较这些对象与object是否相等,如果相等,则不需要保存object;如果不相等,则...原创 2018-07-12 10:35:16 · 826 阅读 · 0 评论