- 博客(26)
- 收藏
- 关注
原创 静态内部类与非静态内部类
静态内部类: 静态内部类也是定义在另一个类里面的类,只不过在类的前面多了一个关键字static。非静态内部类不能有静态成员:对于java类加载顺序我们知道,首先加载类,执行static变量初始化,接下来执行对象的创建,如果我们要执行代码中的变量i初始化,那么必须先执行加载OuterClass,再加载Innerclass,最后初始化静态变量i,问题就出在加载Innerclass上面,
2018-01-30 23:22:37
338
原创 内部类(3)
匿名内部类:就是没有名字的局部内部类,不使用关键字class, extends, implements, 没有构造方法。如果满足下面的一些条件,使用匿名内部类是比较合适的: a·只用到类的一个实例。 b·类在定义后马上用到。 c·类非常小(SUN推荐是在4行代码以下) d·给类命名并不会导致你的代码更容易被理解。在使用匿名内部类时,要记住以下几个原则: a
2018-01-29 23:50:02
233
原创 内部类(2)
局部内部类:顾名思义,在对象的方法成员内部定义的类。定义在方法中,比方法的范围还小。是内部类中最少用到的一种类型。 像局部变量一样,不能被public, protected, private和static修饰。 只能访问方法中定义的final类型的局部变量。 方法内部类在方法中定义,所以只能在方法中使用,即只能在方法当中生成方法内部类的实例并且调用其方法packa
2018-01-29 23:27:28
234
原创 内部类(1)
内部类:顾名思义,就是在类的内部定义的类,内部类的分类可以分为:成员内部类,局部内部类,匿名内部类,静态内部类,下面一个一个攻破,在外部类里面创建成员内部类的实例:this.new B();在外部类之外创建内部类的实例:(new Outer()).new Inner().go();在内部类里访问外部类的成员:Outer.this.member成员内部类:举个例子:p
2018-01-29 22:51:18
621
原创 单例模式
定义: 单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例单例模式的要点:
2017-09-14 22:34:07
205
转载 xml的解析方式
XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。基本的解析方式有两种,一种叫SAX,另一种叫DOM。SAX是基于事件流的解析,DOM是基于XML文档树结构的解析。1.DOM生成和解析XML文档 为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中
2017-09-13 21:51:16
311
原创 JDBC
JDBC 是 java 数据库连接标准,是用于 Java 应用程序连接各种数据库的标准方法。 1)对 java 程序员来讲:JDBC 是一套访问数据库的 API,通过这套 API 能够实现 java 代码对数据 库的操作 2)对数据库厂商来讲:JDBC 是一套底层的 java 语言接口模型,为各数据库厂商及第三方中间件 厂商实现与数据库的连接提供了标准服务方法 因为 J
2017-08-13 14:36:48
329
原创 java 反射机制
反射机制:指的是可以于运行时加载,探知,使用编译期间完全未知的类。程序在运行状态中,可以动态加载一个只有名称的类,对于任意一个;已加载的类,都能知道这个类的所有方法属性;对于任意一个对象,都能够调用它的任意一个方法和属性,加载完类之后,在堆内存中,就产生了一个Class类型的对象,(一个类只有一个Class对象 )这个对象就包含了完整的类的结构信息,我们可以通过这个对象看到类的结构,这
2017-08-12 21:39:37
269
原创 日期类
日期在 Java 中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日 期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题。 在 Java 中,操作日期主要涉及到一下几个类: (1)java.util.Date(最基本的日期时间类) (2)java.text.DateFormat(抽象类) (3)java.text.SimpleDateF
2017-08-12 18:44:24
193
原创 Java电话本管理系统(数组版)
这是第一次写Java 小项目,得好好记录一番/* * 联系人基本信息 */public class LinkMan { private String name; private char sex; private int age; private String phone; private long qq; private String address; /* * 构造
2017-08-12 13:22:41
3332
1
原创 自动装箱与自动拆箱
自动装箱和自动拆箱是jdk1.5以后才引入的新的内容。那么什么是自动装箱和自动拆箱呢?java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装成为装箱,解包装称为拆箱); 其实按照我自己的理解自动装箱就可以简单的理解为将基本数据类型封装为对象类型,来符合java的面向对象;例如用int来举例: 自动装箱: Integer a =
2017-08-12 13:21:15
298
原创 基本数据类型 、包装类 与String类之间的转换
8种基本数据类型: 整数型:byte short int long 浮点型:float double 字符型:char 布尔型:boolean8种数据类型对应的包装类:byteByteshortShortintIntegerlongLongcharCharactor
2017-08-12 10:40:27
496
1
原创 Scanner 的next()或nextInt()与nextLine()连续调用时出现的问题
1. next()划分每个元素的标准是:空格、制表符、或者换行符。所有元素均有这三种情况分割开来,其所有返回的值均为String类型。 next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉, 只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分
2017-08-12 10:02:07
1597
原创 冒泡排序,选择排序
1:冒泡排序的由来:冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。至于是越小的数字慢慢“浮”出到最顶端,还是越大的数字慢慢“浮”出最顶端,网上的说法不一。但基本原理是一样 的
2017-08-12 08:14:31
279
原创 多态那些事儿
父类引用指向子类的对象: 通过父类的引用指向子类的对象实体,当调用方法时,实际执行的是子类重写父类的方法(1)什么是向上转型? 子类引用的对象转换为父类类型称为向上转型。通俗地说就是将子类对象转为 父类对象。此处父类对象可以是接口 (2)什么是向下转型? 如果一个方法的形参是父类类型,调用子类独有 的方法时会用ins
2017-08-09 23:30:45
601
原创 final 与static
final:最终的1:修饰的类不能被继承 提高安全性,提高程序的可读性2:修饰的方法不能被重写3:修饰的属性为常量:: (1)一旦初始化,不能再被赋值, (2)如果只是声明一个final 常量,只能在构造方法中或代码块中赋值, (3)不能在普通方法中赋值。
2017-08-09 22:38:39
180
原创 eclipse 中其他包中的类如何调用默认包中的类(反射机制)
默认包中的类:public class Hello {public void print(){System.out.println("hello");}}其他包中的类: import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;publi
2017-08-08 23:08:12
1032
原创 继承那些事儿
1.继承是is a 的关系,Java只支持单继承,不允许多继承:2.一个类只能有一个父类,一个父类可以派生成多个子类3.子类继承了父类除构造方法以外的所有非private的方法和属性(假设在同一个包中)4.如果父类中只有有参构造方法,子类必须显式的调用父类的构造方法,否则,就必须在父类中重载一个无惨构造方法5.在构造方法中,super 必须位于第一行,普通方法中无所谓6子类重写
2017-08-08 22:25:18
263
原创 浅谈面向对象与面向过程
面向过程是一件事“该怎么做”:所谓的过程就是一步一步地执行。也就是说,在遇到问题时,我们所关注的是分析解决问题的步骤,然后用函数把这些步骤一步一步的实现,使用的时候一步一步的调用就可以了。面向对象是一件事“该谁来做”:那个“谁”就是对象,在遇到问题的时候,我们会把问题分解为一个个实例对象,每个实例对象都有不同的行为,也就是完成不同的功能,反正最后合力把事情做好就行了。
2017-08-07 22:43:53
342
原创 java 做题小细节
1:String 类型与基本数据类型用“+”连接:部分代码: System.out.println("hello"+3+4);//输出结果为:hello34 System.out.println(3+4+"hello");输出结果为:7hello System.out.println('a'+3+"hello");//输出结果为:100hello S
2017-08-06 10:27:53
358
原创 java中常用的转义字符
转义符含义Unicode值\b退格(backspace)\u0008\n换行\u000a\r回车\u000d\t制表符(tab)\u0009\“双引号\u0
2017-08-05 20:21:22
788
原创 JDK JRE JVM 三者之间的关系
在知道三者关系之前,首先你得知道它们是什么:JDK(Java Development Kit):Java开发工具包,基本包括:.javac----编译器 (将源程序转为字节码)、.java -----运行编译后的Java程序(后缀为.class)、 .jar ----打包工具,将相关的类文件打包成一个文件
2017-08-05 19:21:49
646
原创 配置java JDk环境变量
在配置环境变量之前应该需要知道为什么要配置环境变量:当在命令行中执行一个程序时,系统会从当前目录下寻找,如果找不到,就会从系统变量path中查找,如果仍找不到,就会报错。我们在进行Java开发时,会用到javac ,java这两个程序,虽然我们可以进入JDK安装目录的bin目录下使用这两个程序,但是很麻烦,根据Windows系统在查找可执行程序的原理, 可以将Java工具所在的路径定义到p
2017-08-05 19:16:32
316
原创 利用Excel和bat批处理命令 批量创建文件夹
利用电子表格,填写命令和生成的目录,将内容复制到文本中,替换掉里面的空格,后缀改成.bat。双击运行即可过程如下:1:新建空白excel2 ,将需要创建文件夹的列复制到 excel2中的第二列(注意:前面一定要留一列)2:在第一列输入MD(大小写都可以)3:复制两列的内容到空白txt文档中,保存,将后缀名为.bat运行1.bat文
2017-08-03 22:55:47
2870
原创 Java的特点
Java语言的三大特点:面向对象、健壮性、跨平台特点1:面向对象:两个基本概念:类与对象三大特性:封装、继承、多态特点2:健壮性:吸收了c/c++的优势,去除了影响健壮性的劣势 有垃圾自动回收机制特点3:跨平台:一次编译,处处运行 (针对不同的平台有不同的 JVM )
2017-08-03 15:29:47
280
原创 DOS常用命令
dir(directory):列出当前下的文件夹及文件md(make directory):创建目录rd(remove directory):删除目录cd空格(change directory):进入指定目录cd .. ;返回上级目录cd \ :返回到根目录exit :退出
2017-08-03 15:17:21
255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人