??xml version="1.0" encoding="utf-8" standalone="yes"?> //读RDF的程?br />import com.hp.hpl.jena.rdf.model.*; public class read-rdf extends Object{ static final String inputFileName public static void main (Sring args[]){ try { Model model = ModelFactory.createDefaultModel(); InputStream in = read-rdf.class if (in == null) { model.read(new InputStreamReader(in), ""); model.write(System.out); } public static void main (String args[]){ String programstype = "Jena"; }
import java.io.*;
= "i'm-rdf-file.rdf";
.getClassLoader()
.getResourceAsStream(inputFileName);
throw new IllegalArgumentException(
"file:" + inputFileName +"not found");
}
}
//写RDF的程?br />import com.hp.hpl.jena.rdf.model.*;
import java.io.*;
import com.hp.hpl.jena.xmloutput.*;
String writername = "xiaoxiao";
String things = "make the program";
String task = writername + " " + things;
try{
Model model = ModelFactory.createDefaultModel()
Resource xiaoxiao
= model.createResource(programstype)
.addProperty(TASKS, task)
model.createResource()
.addProterty(WRITER, writername)
RDFWriter writer = model.getWriter();
writer.write(model,System.out, null);
}
]]>
目前Java主要应用于中间g的开?middleware)---处理客户Z服务器之间的通信技?早期的实践证?Java不适合pc应用E序的开?其发展逐渐变成在开发手持设?互联|信息站,及R载计机的开?Java于其他语a所不同的是E序q行时提供了q_的独立?U许可以在windows,solaris,linux其他操作pȝ上用完全相同的代码.Java的语法与C++语法cM,C++/CE序员很Ҏ掌握,而且Java是完全的d的面向对象的,其中提出了很好的GC(Garbage Collector)垃圾处理机制,防止内存溢出.
Java的白皮书为我们提ZJava语言?1个关键特?
(1)Easy:Java的语法比C++的相对简?另一个方面就是Java能软g在很的机器上运?基础解释其和cd的支持的大小Uؓ40kb,增加基本的标准库和线E支持的内存需要增?25kb.
(2)分布?Java带有很强大的TCP/IP协议族的例程?Java应用E序能够通过URL来穿q网l来讉Kq程对象,׃servlet机制的出?使Java~程非常的高?现在许多的大的web server都支持servlet.
(3)OO:面向对象设计是把重点攑֜对象及对象的接口上的一个编E技?光向对象和C++有很多不?在与多重l承的处理及Java的原cL?
(4)健壮Ҏ?Java采取了一个安全指针模?能减重写内存和数据崩溃的可能型
(5)安全:Java用来设计|\和分布系l?q带来了新的安全问题,Java可以用来构徏防病毒和防攻ȝSystem.事实证明Java在防毒这一斚w做的比较?
(6)中立体系l构:Java~译其生成体pȝ构中立的目标文g格式可以在很多处理器上执?~译器生的指o字节?Javabytecode)实现此特?此字节码可以在Q何机器上解释执行.
(7)可移植?Java中对基本数据l构cd的大和法都有严格的规定所以可UL性很?
(8)多线E?Java处理多线E的q程很简?Java把多U程实现交给底下操作pȝ或线E程序完?所以多U程是Java作ؓ服务器端开发语a的流行原因之一
(9)Applet和servlet:能够在网上执行的程序叫Applet,需要支持Java的浏览器很多,而applet支持动态的|页,q是很多其他语言所不能做到?
基本概念:
1.OOP中唯一关系的是对象的接口是什?像计算机的销售商她不电源内部结构是怎样?他只关系能否l你提供电就行了,也就是只要知道can or not而不是how and why.所有的E序是由一定的属性和行ؓ对象l成?不同的对象的讉K通过函数调用来完?对象间所有的交流都是通过Ҏ调用,通过对封装对象数?很大限度上提高复用率.
2.OOP中最重要的思想是类,cL模板是蓝?从类中构造一个对?卛_Zq个cȝ一个实?instance)
3.装:是把数据和行ؓl合起在一个包?q对对象使用者隐藏数据的实现q程,一个对象中的数据叫他的实例字段(instance field)
4.通过扩展一个类来获得一个新cdl承(inheritance),而所有的c都是由Object根超cL展而得,根超cM文会做介l?
5.对象?个主要特?
behavior---说明q个对象能做什?
state---当对象施加方法时对象的反?
identity---与其他相D为对象的区分标志.
每个对象有唯一的indentity 而这3者之间相互媄?
6.cM间的关系:
use-a :依赖关系
has-a :聚合关系
is-a :l承关系--?Acȝ承了Bc?此时AcM仅有了BcȝҎ,q有其自qҎ.(个性存在于共性中)
7.构造对象用构造器:构造器的提?构造器是一U特D的Ҏ,构造对象ƈ对其初始?
?Datacȝ构造器叫Data
new Data()---构造一个新对象,且初始化当前旉.
Data happyday=new Data()---把一个对象赋值给一个变量happyday,从而该对象能够多ơ?此处要声明的使变量与对象变量二者是不同?newq回的值是一个引?
构造器特点:构造器可以??一个或多个参数
构造器和类有相同的名字
一个类可以有多个构造器
构造器没有q回?/p>
构造器L和newq算W一起?
8.重蝲:当多个方法具有相同的名字而含有不同的参数?便发生重?~译器必L选出调用哪个Ҏ.
9.?package)Java允许把一个或多个cL集在一hZl?UC?以便于组lQ?标准Java库分多包.java.lang java.util java,net{?包是分层ơ的所有的java包都在java和javax包层ơ内.
10.l承思想:允许在已l存在的cȝ基础上构建新的类,当你l承一个已l存在的cL,那么你就复用了这个类的方法和字段,同时你可以在新类中添加新的方法和字段.
11.扩展c?扩展cd分体Cis-a的承关p? 形式?class (子类) extends (基类).
12.多?在java?对象变量是多态的.而java中不支持多重l承.
13.动态绑?调用对象Ҏ的机?
(1)~译器检查对象声明的cd和方法名.
(2)~译器检查方法调用的参数cd.
(3)静态绑?若方法类型ؓpriavte static final ~译器会准确知道该调用哪个方?
(4)当程序运行ƈ且用动态绑定来调用一个方法时,那么虚拟机必调用x所指向的对象的实际cd相匹配的Ҏ版本.
(5)动态绑?是很重要的特?它能使程序变得可扩展而不需要重~译已存代码.
14.finalc?为防止他Z你的cMz新类,此类是不可扩展的.
15.动态调用比静态调用花费的旉要长,
16.抽象c?规定一个或多个抽象Ҏ的类本n必须定义为abstract
? public abstract string getDescripition
17.Java中的每一个类都是从ObjectcL展而来?
18.objectcM的equal和toStringҎ.
equal用于试一个对象是否同另一个对象相{?
toStringq回一个代表该对象的字W串,几乎每一个类都会重蝲该方?以便q回当前状态的正确表示.
(toString Ҏ是一个很重要的方?
19.通用~程:Mcȝ型的所有值都可以同objectcL的变量来代?
20.数组列表:ArrayList动态数l列?是一个类?定义在java.uitl包中,可自动调节数l的大小.
21.classc?objectcM的getclassҎq回ckasscd的一个实?E序启动时包含在mainҎ的类会被加蝲,虚拟加蝲他需要的所有类,每一个加载的c都要加载它需要的c?
22.classcMؓ~写可动态操Ujava代码的程序提供了强大的功能反?q项功能为JavaBeans特别有用,使用反射Java能支持VBE序员习惯用的工具.
能够分析c能力的E序叫反器,Java中提供此功能的包叫Java.lang.reflect反射机制十分强大.
1.在运行时分析cȝ能力.
2.在运行时探察cȝ对象.
3.实现通用数组操纵代码.
4.提供Ҏ对象.
而此机制主要针对是工兯而不是应用及E序.
反射机制中的最重要的部分是允许你检查类的结?用到的API?
java.lang.reflect.Field q回字段.
java.reflect.Method q回Ҏ.
java.lang.reflect.Constructor q回参数.
Ҏ指针:java没有Ҏ指针,把一个方法的地址传给另一个方?可以在后面调用它,而接口是更好的解x?
23.接口(Interface)说明c该做什么而不指定如何d,一个类可以实现一个或多个interface.
24.接口不是一个类,而是对符合接口要求的cȝ一套规?
若实C个接口需?个步?
1.声明c需要实现的指定接口.
2.提供接口中的所有方法的定义.
声明一个类实现一个接口需要用implements 关键?/p>
class actionB implements Comparable 其actionb需要提供CompareToҎ,接口不是c?不能用new实例化一个接?
25.一个类只有一个超c?但一个类能实现多个接?Java中的一个重要接?/p>
Cloneable
26.接口和回?~程一个常用的模式是回调模?在这U模式中你可以指定当一个特定时间发生时回调对象上的Ҏ.
?ActionListener 接口监听.
cM的API?java.swing.JOptionPane
java.swing.Timer
java.awt.Tookit
27.对象clone:cloneҎ是object一个保护方?q意味着你的代码不能单的调用?
28.内部c?一个内部类的定义是定义在另一个内部的c?/p>
原因?1.一个内部类的对象能够访问创建它的对象的实现,包括U有数据
2.对于同一个包中的其他cL?内部c能够隐藏v?
3.匿名内部cd以很方便的定义回?
4.使用内部cd以非常方便的~写事g驱动E序.
29.代理c?proxy):
1.指定接口要求所有代?/p>
2.objectcd义的所有的Ҏ(toString equals)
30.数据cd:Java是强调类型的语言,每个变量都必dx它都cd,java中d?个基本类?4U是整型,2U是点?一U是字符?被用于Unicode~码中的字符,布尔?