入门必看的5个JAVA经典实例Word文件下载.docx
- 文档编号:16687016
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:15
- 大小:16.46KB
入门必看的5个JAVA经典实例Word文件下载.docx
《入门必看的5个JAVA经典实例Word文件下载.docx》由会员分享,可在线阅读,更多相关《入门必看的5个JAVA经典实例Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
abstractclassFood{
protectedStringname;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
*一种食物类:
鱼
classFishextendsFood{
publicFish(Stringname){
骨头
classBoneextendsFood{
publicBone(Stringname){
*饲养员类
*
classFeeder{
/**
*饲养员给某种动物喂某种食物
*@paramanimal
*@paramfood
publicvoidfeed(Animalanimal,Foodfood){
animal.eat(food);
*测试饲养员给动物喂食物
publicclassTestFeeder{
publicstaticvoidmain(String[]args){
Feederfeeder=newFeeder();
Animalanimal=newDog();
Foodfood=newBone("
肉骨头"
);
feeder.feed(animal,food);
//给狗喂肉骨头
animal=newCat();
food=newFish("
鱼"
//给猫喂鱼
}
2.做一个单子模式的类,只加载一次属性文件
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.InputStream;
importjava.util.Properties;
*@authorleno单子模式,保证在整个应用期间只加载一次配置属性文件
publicclassSingleton{
privatestaticSingletoninstance;
privatestaticfinalStringCONFIG_FILE_PATH="
E:
\\config.properties"
;
privatePropertiesconfig;
privateSingleton(){
config=newProperties();
InputStreamis;
try{
is=newFileInputStream(CONFIG_FILE_PATH);
config.load(is);
is.close();
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
publicstaticSingletongetInstance(){
if(instance==null){
instance=newSingleton();
returninstance;
publicPropertiesgetConfig(){
returnconfig;
publicvoidsetConfig(Propertiesconfig){
this.config=config;
3.用JAVA中的多线程示例银行取款问题
*账户类
*默认有余额,可以取款
classAccount{
privatefloatbalance=1000;
publicfloatgetBalance(){
returnbalance;
publicvoidsetBalance(floatbalance){
this.balance=balance;
*取款的方法需要同步
*@parammoney
publicsynchronizedvoidwithdrawals(floatmoney){
if(balance>
=money){
被取走"
+money+"
元!
"
Thread.sleep(1000);
}catch(InterruptedExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
balance-=money;
}else{
对不起,余额不足!
*银行卡
classTestAccount1extendsThread{
privateAccountaccount;
publicTestAccount1(Accountaccount){
this.account=account;
@Override
publicvoidrun(){
account.withdrawals(800);
余额为:
+account.getBalance()+"
*@authorleno
*存折
classTestAccount2extendsThread{
publicTestAccount2(Accountaccount){
account.withdrawals(700);
publicclassTest{
Accountaccount=newAccount();
TestAccount1testAccount1=newTestAccount1(account);
testAccount1.start();
TestAccount2testAccount2=newTestAccount2(account);
testAccount2.start();
4.用JAVA中的多线程示例生产者和消费者问题
classProducerimplementsRunnable{
privateSyncStackstack;
publicProducer(SyncStackstack){
this.stack=stack;
for(inti=0;
i<
stack.getProducts().length;
i++){
Stringproduct="
产品"
+i;
stack.push(product);
生产了:
"
+product);
Thread.sleep(200);
classConsumerimplementsRunnable{
publicConsumer(SyncStackstack){
Stringproduct=stack.pop();
消费了:
classSyncStack{
privateString[]products=newString[10];
privateintindex;
publicsynchronizedvoidpush(Stringproduct){
if(index==product.length()){
wait();
notify();
products[index]=product;
index++;
publicsynchronizedStringpop(){
if(index==0){
index--;
Stringproduct=products[index];
returnproduct;
publicString[]getProducts(){
returnproducts;
publicclassTestProducerConsumer{
SyncStackstack=newSyncStack();
Producerp=newProducer(stack);
Consumerc=newConsumer(stack);
newThread(p).start();
newThread(c).start();
5.编程实现序列化的Student(sno,sname)对象在网络上的传输
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;
importjava.io.Serializable;
import.ServerSocket;
import.Socket;
classStudentimplementsSerializable{
privateintsno;
privateStringsname;
publicStudent(intsno,Stringsname){
this.sno=sno;
this.sname=sname;
publicintgetSno(){
returnsno;
publicvoidsetSno(intsno){
publicStringgetSname(){
returnsname;
publicvoidsetSname(Stringsname){
publicStringtoString(){
return"
学号:
+sno+"
姓名:
+sname;
classMyClientextendsThread{
Sockets=newSocket("
localhost"
9999);
ObjectInputStreamois=newObjectInputStream(s.getInputStream());
Studentstu=(Student)ois.readObject();
Stringmsg="
客户端程序收到服务器端程序传输过来的学生对象>
>
+stu;
System.out.println(msg);
ois.close();
s.close();
}catch(ClassNotFoundExceptione){
classMyServerextendsThread{
ServerSocketss=newServerSocket(9999);
Sockets=ss.accept();
ObjectOutputStreamops=newObjectOutputStream(s.getOutputStream());
Studentstu=newStudent(1,"
赵本山"
ops.writeObject(stu);
ops.close();
ss.close();
publicclassTestTransfer{
newMyServer().start();
newMyClient().start();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 入门 JAVA 经典 实例