iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JAVA入门经典实例有哪些
  • 382
分享到

JAVA入门经典实例有哪些

java 2023-05-30 23:05:03 382人浏览 独家记忆
摘要

小编给大家分享一下JAVA入门经典实例有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)

小编给大家分享一下JAVA入门经典实例有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处

package com.softeem.demo;interface Animal { public void eat(Food food);}class Cat implements Animal { public void eat(Food food) {  System.out.println("小猫吃" + food.getName()); }}class Dog implements Animal { public void eat(Food food) {  System.out.println("小狗啃" + food.getName()); }}abstract class Food { protected String name; public String getName() {  return name; } public void setName(String name) {  this.name = name; }}class Fish extends Food { public Fish(String name) {  this.name = name; }}class Bone extends Food { public Bone(String name) {  this.name = name; }}class Feeder {  public void feed(Animal animal, Food food) {  animal.eat(food); }}public class TestFeeder { public static void main(String[] args) {  Feeder feeder = new Feeder();  Animal animal = new Dog();  Food food = new Bone("肉骨头");  feeder.feed(animal, food); //给狗喂肉骨头   animal = new Cat();  food = new Fish("鱼");  feeder.feed(animal, food); //给猫喂鱼 }}

做一个单子模式的类,只加载一次属性文件

package com.softeem.demo;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Properties;public class Singleton { private static Singleton instance; private static final String CONFIG_FILE_PATH = "E:\\config.properties"; private Properties config; private Singleton() {  config = new Properties();  InputStream is;  try {   is = new FileInputStream(CONFIG_FILE_PATH);   config.load(is);   is.close();  } catch (FileNotFoundException e) {   // TODO Auto-generated catch block   e.printStackTrace();  } catch (IOException e) {   // TODO Auto-generated catch block   e.printStackTrace();  } } public static Singleton getInstance() {  if (instance == null) {   instance = new Singleton();  }  return instance; } public Properties getConfig() {  return config; } public void setConfig(Properties config) {  this.config = config; }}

用JAVA中的多线程示例银行取款问题

package com.softeem.demo;class Account { private float balance = 1000; public float getBalance() {  return balance; } public void setBalance(float balance) {  this.balance = balance; }  public synchronized void withdrawals(float money) {  if (balance >= money) {   System.out.println("被取走" + money + "元!");   try {    Thread.sleep(1000);   } catch (InterruptedException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }   balance -= money;  } else {   System.out.println("对不起,余额不足!");  } }}class TestAccount1 extends Thread { private Account account; public TestAccount1(Account account) {  this.account = account; } @Override public void run() {  account.withdrawals(800);  System.out.println("余额为:" + account.getBalance() + "元!"); }}class TestAccount2 extends Thread { private Account account; public TestAccount2(Account account) {  this.account = account; } @Override public void run() {  account.withdrawals(700);  System.out.println("余额为:" + account.getBalance() + "元!"); }}public class Test { public static void main(String[] args) {  Account account = new Account();  TestAccount1 testAccount1 = new TestAccount1(account);  testAccount1.start();  TestAccount2 testAccount2 = new TestAccount2(account);  testAccount2.start(); }}

用JAVA中的多线程示例生产者和消费者问题

package com.softeem.demo;class Producer implements Runnable { private SyncStack stack; public Producer(SyncStack stack) {  this.stack = stack; } public void run() {  for (int i = 0; i < stack.getProducts().length; i++) {   String product = "产品" + i;   stack.push(product);   System.out.println("生产了: " + product);   try {    Thread.sleep(200);   } catch (InterruptedException e) {    e.printStackTrace();   }  } }}class Consumer implements Runnable { private SyncStack stack; public Consumer(SyncStack stack) {  this.stack = stack; } public void run() {  for (int i = 0; i < stack.getProducts().length; i++) {   String product = stack.pop();   System.out.println("消费了: " + product);   try {    Thread.sleep(1000);   } catch (InterruptedException e) {    e.printStackTrace();   }  } }}class SyncStack { private String[] products = new String[10]; private int index; public synchronized void push(String product) {  if (index == product.length()) {   try {    wait();   } catch (InterruptedException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }  }  notify();  products[index] = product;  index++; } public synchronized String pop() {  if (index == 0) {   try {    wait();   } catch (InterruptedException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }  }  notify();  index--;  String product = products[index];  return product; } public String[] getProducts() {  return products; }}public class TestProducerConsumer { public static void main(String[] args) {  SyncStack stack = new SyncStack();  Producer p = new Producer(stack);  Consumer c = new Consumer(stack);  new Thread(p).start();  new Thread(c).start(); }}

编程实现序列化的Student(sno,sname)对象在网络上的传输

package com.softeem.demo;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;import java.net.ServerSocket;import java.net.Socket;class Student implements Serializable { private int sno; private String sname; public Student(int sno, String sname) {  this.sno = sno;  this.sname = sname; } public int getSno() {  return sno; } public void setSno(int sno) {  this.sno = sno; } public String getSname() {  return sname; } public void setSname(String sname) {  this.sname = sname; } @Override public String toString() {  return "学号:" + sno + ";姓名:" + sname; }}class MyClient extends Thread { @Override public void run() {  try {   Socket s = new Socket("localhost", 9999);   ObjectInputStream ois = new ObjectInputStream(s.getInputStream());   Student stu = (Student) ois.readObject();   String msg = "客户端程序收到服务器端程序传输过来的学生对象>> " + stu;   System.out.println(msg);   ois.close();   s.close();  } catch (IOException e) {   // TODO Auto-generated catch block   e.printStackTrace();  } catch (ClassNotFoundException e) {   // TODO Auto-generated catch block   e.printStackTrace();  } }}class MyServer extends Thread { @Override public void run() {  try {   ServerSocket ss = new ServerSocket(9999);   Socket s = ss.accept();   ObjectOutputStream ops = new ObjectOutputStream(s.getOutputStream());   Student stu = new Student(1, "赵本山");   ops.writeObject(stu);   ops.close();   s.close();   ss.close();  } catch (IOException e) {   // TODO Auto-generated catch block   e.printStackTrace();  } }}public class TestTransfer { public static void main(String[] args) {  new MyServer().start();  new MyClient().start(); }}

以上是“JAVA入门经典实例有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: JAVA入门经典实例有哪些

本文链接: https://www.lsjlt.com/news/222386.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JAVA入门经典实例有哪些
    小编给大家分享一下JAVA入门经典实例有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)...
    99+
    2023-05-30
    java
  • Python3入门经典100例
    最近由于人工智能和编译原理实验,决定要学python3。不为别的,就是因为自己语言基础太差,现学现卖只能用python了。网上看了一圈python的例题,都只有python2的,于是自己决定把python2的例题,手写成python3。希...
    99+
    2023-01-31
    入门 经典
  • Python入门经典案例一
    # 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1 sum = 0 2 values = range(1, 5) 3 for i in values: 4 for j in values: 5 ...
    99+
    2023-01-30
    入门 案例 经典
  • JavaScript函数调用经典实例有哪些
    本篇内容介绍了“JavaScript函数调用经典实例有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!JavaScript函数调用经典例题...
    99+
    2023-06-25
  • Java经典算法题有哪些
    这篇文章主要介绍“Java经典算法题有哪些”,在日常操作中,相信很多人在Java经典算法题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java经典算法题有哪些”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-17
  • Python经典基础案例有哪些
    这篇文章主要介绍了Python经典基础案例有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.列表排序def que6():   ...
    99+
    2023-06-25
  • 【python】编程语言入门经典100例
      1 # 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?     2 num = [1,2,3,4]   3 n = []   4 for x in num:   5     for y in num:...
    99+
    2023-01-31
    编程语言 入门 经典
  • java中经典的JVM锁有哪些
    本篇内容介绍了“java中经典的JVM锁有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!synchronized synchr...
    99+
    2023-06-17
  • Java虚拟机经典问题有哪些
    本篇内容介绍了“Java虚拟机经典问题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java 是如何在保证可移植性的前提下提供高执行效...
    99+
    2023-06-04
  • JavaScript中有哪些递归经典案例题
    这篇文章主要为大家展示了“JavaScript中有哪些递归经典案例题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中有哪些递归经典案例题”这篇文章吧。什么是递归,它是如何工作...
    99+
    2023-06-20
  • Java反射经典实例 Java Reflection Cookbook
    http://www.duduwolf.com/wiki/2006/85.html[@more@]import java.lang.reflect.Array;import java.lang.reflect.Constructor;imp...
    99+
    2023-06-03
  • 经典CSS框架有哪些
    这篇文章主要介绍了经典CSS框架有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 960gs960 像素的页面宽度似乎成为了一种设计...
    99+
    2024-04-02
  • Python经典面试题有哪些
    这篇文章主要讲解了“Python经典面试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python经典面试题有哪些”吧!Python面试题(一)之交换变量值平时时不时会面面实习生,大...
    99+
    2023-06-02
  • 经典MySQL面试题有哪些
    这篇文章主要讲解了“经典MySQL面试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“经典MySQL面试题有哪些”吧!1.数据库三范式是什么第一范式(...
    99+
    2024-04-02
  • Redis经典面试题有哪些
    本篇内容介绍了“Redis经典面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、什么是Redis?简述它的优缺点?Redis本质...
    99+
    2023-06-02
  • PHP经典面试题有哪些
    这篇文章给大家分享的是有关PHP经典面试题有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.合并两个数组有几种方式,试比较它们的异同方式:array_merge()’+’array_merge_recurs...
    99+
    2023-06-15
  • 有哪些经典的DOS命令
    这篇文章将为大家详细讲解有关有哪些经典的DOS命令,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。案例一、FC文件对比众所周知,在安装软件时,一般会在注册表中或多或少留下点什么,时间一长就会有...
    99+
    2023-06-13
  • Linux经典面试题有哪些
    这篇文章主要介绍“Linux经典面试题有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux经典面试题有哪些”文章能帮助大家解决问题。1、介绍下自己?(几乎每家公司首先都会让你做个自我介绍,...
    99+
    2023-06-16
  • java入门面试题有哪些
    这篇文章主要为大家展示了“java入门面试题有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java入门面试题有哪些”这篇文章吧。1. 谈谈你对面向对象的了解? (谈谈你对面向对象和面向过程...
    99+
    2023-06-20
  • 有哪些经典的vbs脚本
    这篇文章主要讲解了“有哪些经典的vbs脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些经典的vbs脚本”吧!文件下载(无回显)  echo iLocal ...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作