今天在网上看到这篇文章,讲得很好,所以给大家发个链接吧!!
java 抽象类和抽象方法
抽象方法就是以abstract修饰的方法,这种方法是不完整的;仅有声明而没有方法体。如:
abstract void f();
当一个子类继承某个抽象类时,它可以有两个选择:
- 部分实现或完全不实现父类的所有抽象方法,但此时子类必须声明为抽象类。
- 实现父类所有的抽象方法,此时之类不比声明为抽象类。 阅读更多…
Java中的float与double
最近看了几道Java面面题,发现自己对于Java的基础知识掌握得都不好,看来学得不扎实啊!
看看下面这个程序:
1 2 3 4 5 6 7 8 | public class Test2 { public static void main(String[] args) { float a = 3.4; } } |
这样一个简单的程序编译能通过吗? 阅读更多…
Java的中堆与栈
- 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
- 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。栈中主要存放一些基本类型的变量(int, short, long, byte, float, double, boolean, char)和对象句柄。堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
java断言的使用总结
最近看到一种调试方法,就是使用java的断言,下面总结一下吧!
网上这篇文章把java的assert介绍得很详细,把地址贴出来:深入解析Java的新特性assertion呵呵,不做说明了。
下面总结一下在eclipse下如何开启断言吧!
java 断言 assert 初步使用:断言开启、断言使用这篇博客里讲得很好,而且我做了测试,也实现了,有兴趣的可以看一下。
我发现写这个总结啊,比学习一下还累,既然网上有现成的,我就不在这里,哈哈,直接拿来用好了。呵呵,又偷懒了呢!
String,StringBuffer与StringBuilder的区别
在项目中经常用到String 和StringBuffer,可是却不知道它们之间的区别,今天查了些资料,总结一下吧!
网上很经典的一道面试题:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class Test { public static void stringReplace (String text) { text = text.replace('j' , 'i'); } public static void bufferReplace (StringBuffer text) { text = text.append("C"); } public static void main (String args[]) { String textString = new String ("java"); StringBuffer textBuffer = new StringBuffer ("java"); stringReplace (textString); bufferReplace (textBuffer); System.out.println (textString + textBuffer); } } |
答案是 javajavaC 阅读更多…
C#与java的语法区别
1. Main方法(入口)
唯一的四种格式:
static void Main(string[] args)
static void Main()
static int Main(string[] args)
static int Main()
C#中一个项目只允许一个Main入口,且大写!
Main方法返回值只为void or int 前面没有修饰符
2. 数据类型方面。
a) C#定义了struct(结构),不能是抽象的,也不能被继承,是值类型的。
b) C#没有基本类型的概念,全部是面向对象的类型,int是Int32的简写。
c) 在Java中const是保留字,final与C#中的const意思相同,C#中还有readonly允许运行时赋初值。
d) 字符串比较,C#中可以用=比较值,与Java一样用StringBuffer来减少内存开销。
e) Java中String是引用数据类型,C#中string是基本数据类型。 阅读更多…
jad反编译
Java下的一个简单易用的反编译工具jad, 可以很方便的将.class反编译为.Java.
基本用法
Usage:jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:\Java\>jad example1.class
c:\Java\>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.Java即得源文件。 阅读更多…
json例子
今天搞了一天的json,但是进展却不大。因为这个东西吧,写的文档都是英文的,网上的东西只有一半。晚上问了下师兄一下关于java包的问题,终于弄出了个完整的例子。
json只是一种数据结构,www.json.org/json-zh.html上说得很清楚了。但是有很多人在为此而写代码,对于java应用而言,就有好多种。我看网上用得比较多的是org.json,json-lib和FLEXJSON。不过json-lib有一大堆包,用起来好麻烦哦,所以选择试试用用org.json。在网上下载一个org.json.jar包,如果要运行单独的java文件,那么要在环境变量里进行配置,把这个包加载进去。加进去的时候老是出错,还以为那个包的名字不能为org.json.jar,后来做了实验发现可以这样命名。
其次本程序需要抛出异常,org.json自已有一个异常类,JSONException。抛出异常就必须包在包里,否则就会错,我也不知道为什么。待查。所以以下程序可以执行了。
(org.json的相关中文文档在那个网站有,可以查查使用)