
Java
可乐司机
这个作者很懒,什么都没留下…
展开
-
Java 概述
Java 是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心,舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。 在 Java SE 1.5 版本中,又引入了泛型编程、类型安全的枚原创 2017-05-01 19:56:21 · 123 阅读 · 0 评论 -
Java 抽象类与接口
1. 抽象类1)定义格式abstract class A{ public int abstract func(){}}2)使用格式public class B extends A{ B(){} public int func(){...}//如果A中有抽象方法,B需要实现A中的抽象方法}3)作用 模板设计,抽象父类定义了需要使用的某些方原创 2017-05-05 08:49:54 · 166 阅读 · 0 评论 -
Java 单例模式
1. 定义 该类只有一个实例,所有指向该类型实例的引用都是指向这个实例的。这样可以保证数据的一致性,也可以节省空间。2. 创建 1)饿汉式 加载类时较慢,但运行时获得对象的速度比较快,它从加载到应用结束会一直占用资源。class Singleton{ //在内部准备好一个对象 private static Singleton instance =原创 2017-05-03 09:10:33 · 179 阅读 · 0 评论 -
Java 基本数据类型和包装类
1. 为什么要用包装类 将基本数据类型包装成类,将实现常见的操作,方便使用。(8个包装类都是final修饰,不能被继承。)2. 自动装箱和自动拆箱 自动装箱:可把一个基本类型变量直接赋给对应的包装类对象或则Object对象 自动拆箱:允许把 包装类对象直接赋给对应的基本数据类型 Integer i = 3;//装箱int i2 = i;//拆箱Obj原创 2017-05-03 09:01:11 · 346 阅读 · 0 评论 -
Java 享元模式
当基本正数数据类型在装箱为Integer类型时,0~127之间的数字装箱后会被缓存起来,当下次对同样的数字装箱时 两个Integer对象是相等的,即指向同一块内存,而当数字超过127后,自动装箱后不会被缓存,再次装箱同样大于127的数字时, 两个Integer对象是不相等的。以上事例就是通常所说的享元设计模式。 对于那些非常小但是又需要在系统的很多地方都需要用到它的时候,我们需要把它缓原创 2017-05-03 08:46:24 · 305 阅读 · 0 评论 -
Java 面向对象三大特性
1. 封装 1)封装的两个含义: a. 把对象的状态和行为看成一个统一的整体,将二者存放在一个独立的模块中(类); b. "信息隐藏", 把不需要让外界知道的信息隐藏起来,尽可能隐藏对象功能实现细节,字段; 2) 封装机制在程序中的体现 a. 把描述对象的状态用字段表示,描述对象的行为用方法表示,把字段和方法定义在一个类中,原创 2017-05-02 09:28:03 · 412 阅读 · 0 评论 -
Java 访问修饰符
1. private 类访问权限:本类内部可以访问,不能继承到子类;2. default 什么都不写,包访问权限:本类内部可以访问,同包其他类也可以访问,同包可继承;3. protected 子类访问权限:本类内部可以访问,不同包的子类也可以访问,同包其他类也可以访问,能继承到子类;4. public 公共访问权限:任何地方都可以访问,能原创 2017-05-02 09:32:02 · 266 阅读 · 0 评论 -
Java 可变长度参数
1. 定义的格式 在类型和变量名之间加上 "..."int sumUp(int ... args){ int s=0; for(int i=0; i<args.length; i++){ s += args[i]; }return s;}2. 编译器会在背地里把这最后一个形参转化为一个数组形参,并在编译出的class文件里作上一个记号,表明原创 2017-05-02 09:04:34 · 704 阅读 · 0 评论 -
Java 三大循环结构
1. while 事先不需要知道循环执行多少次2. do while 同上,只是至少要执行一次(先做,后判断)3. for 需要知道循环次数原创 2017-05-02 08:44:42 · 1050 阅读 · 0 评论 -
Java 运算优先级
原创 2017-05-01 21:25:02 · 385 阅读 · 0 评论 -
Java 移位
1. 左移操作“ 将运算数的二进制码整体左移指定位数,左移之后的空使用“0”来补充。2. 右移操作“>>” 将运算数的二进制码整体右移指定位数,右移之后的空使用“符号位”来补充。 若是正数使用“0”补充; 若是负数使用“1”补充;3. 无符号右移">>>" 将运算数的二进制码整体右移指定位数,右移之后的空使用“0”来补充原创 2017-05-01 21:23:56 · 267 阅读 · 0 评论 -
Java 过长与溢出
1. 过长 赋值的过程中数据过大,编译不能通过。 int num = 12345678900; //过长,编译通不过, int 最大是21474836472. 溢出 计算的过程中,数据的大小超出范围,而程序中没有做数据范围检查,导致输出的值发生紊乱int max = Integer.MAX_VALUE; //2147483647int x = max +原创 2017-05-01 21:16:08 · 587 阅读 · 0 评论 -
Java 8种基本数据类型
1. boolean 只允许取true或false(不可以用0或非0的整数代替)2. char 字符常量用单引号,采用的是unicode编码3. 整数类型(byte, short, int, long) 进制数:二进制(0b或0B开头)、十进制、八进制(0开头)、十六进制(0x或0X开头) 整型常量:默认int,声明long型要加上'l'或‘L’(建原创 2017-05-01 21:03:20 · 383 阅读 · 0 评论 -
Java 内部类
1. 定义 内部类:类中的类。 外部类:宿主类。2. 访问 内部类其实也是一种类的成员,访问同其他类成员。 把内部类隐藏在外部类之内,不许同包的其他类访问该类; 内部类可以访问外部类的私有数据,外部类不能访问内部类的实现细节,比如字段;3. 非静态内部类 在创建非静态内部类是,必须先创建其外部类对象 4. 静态内部原创 2017-05-05 09:21:41 · 195 阅读 · 0 评论