- 浏览: 53249 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhuzhuzhu222:
好 文章 顶下
Servlet+AJAX实现数据处理显示 -
hareamao:
if the th thread finishes befor ...
线程学习一,wait和notify实现简单的同步 -
GreatNeyo:
xiaolongfeixiang 写道请问你的"co ...
数据库缓冲池在tomcat6.0中的配置 -
xiaolongfeixiang:
请问你的"com.microsoft.sqlserv ...
数据库缓冲池在tomcat6.0中的配置
/*
定义一个宠物类(Pet),它有两个方法:叫cry(),吃东西eat(),定义宠物的子类狗(Dog),猫(Cat),覆盖父类的cry(),eat()方法,
里面写System.out.println("猫吃了鱼")这样的打印语句,另外狗有自己的方法看门guardEntrance(),猫自己独有的方法捉老鼠huntMice()
定义一个Test类,在main中定义两个Pet变量,pet1,pet2,采用引用转型实例化Dog,Cat,分别调用Pet的cry(),eat();
* (2)将Pet引强制转换为具体的Dog,Cat,在调Dog的guardEntrance(),Cat的huntMice()(提示:先用instanceof进行类型判断)
* (3)(思考)修改Test类,添加喂养宠物feedPet(Pet pet)的方法,在feedPet中调cry(),eat()方法,实例化Test类,再实例化狗 Dog dog = new Dog(),
猫 Pet cat = new Cat(), Test分别调feedPet()方法分别传参数cat,dog,思考这两种方式的异同,深入理解引入转型和多态
*/
package EighthWork;
/**
*
* @author Administrator
*/
public abstract class PetTest
{
//这里体现的是多态的实现机制,通过传入参数的对象不同来实现多态
public void feedPet(Pet pet)
{
System.out.print("\n");
pet.cry();
pet.eat();
}
public static void main(String[] args)
{
//采用转型实例化Dog和Cat
//属性和方法的调用是不同的,属性跟着父类引用的类型一致,方法与实例的引用一致
//也就是属性是在编译时就由父类决定 ,方法在由运行时决定
Pet pet1 = new Dog();
pet1.cry();
pet1.eat();
pet1 = new Cat();//实现动态多态的要求:继承、实例名字相同、
pet1.cry();
pet1.eat();
//将Pet强制转换为具体的Dog和Cat
// Pet pet1 = new Dog();
// Pet pet2 = new Cat();
// if(pet1 instanceof Dog)
// {
// Dog dog = (Dog)pet1;
// dog.guardEntrance();
// }
// if(pet2 instanceof Cat)
// {
// Cat cat = (Cat)pet2;
// cat.huntMice();
// }
//通过传递对象参数的引用实现多态
// PetTest petTest = new PetTest();
// Dog dog = new Dog();
// Pet cat = new Cat();
// petTest.feedPet(dog);
// petTest.feedPet(cat);
}
}
============================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package EighthWork;
/**
*
* @author Administrator
*/
public abstract class Pet
{
public void cry() //抽象类中也允许有非抽象方法
{
System.out.print("宠物在叫");
}
public void eat()
{
System.out.print("宠物在吃");
}
//抽象类都是应用于继承,子类应该重写抽象类中所有的抽象方法
public abstract void PetEat();
}
========================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package EighthWork;
/**
*
* @author Administrator
*/
public class Dog extends Pet
{
public Dog()
{
System.out.println("养了一只狗");
}
public void cry()
{
System.out.println("狗的叫声:汪汪...");
}
public void eat()
{
System.out.println("狗啃了一根骨头");
}
public void guardEntrance()
{
System.out.println("宠物狗在看门");
}
public void PetEat()
{
}
}
=======================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package EighthWork;
/**
*
* @author Administrator
*/
public class Cat extends Pet
{
public Cat()
{
System.out.println("养了一只猫");
}
public void cry()
{
System.out.println("猫在叫:喵喵...");
}
public void eat()
{
System.out.println("猫吃了一条鱼");
}
public void huntMice()
{
System.out.println("宠物猫抓了一只老鼠");
}
public void PetEat()
{ }
}
定义一个宠物类(Pet),它有两个方法:叫cry(),吃东西eat(),定义宠物的子类狗(Dog),猫(Cat),覆盖父类的cry(),eat()方法,
里面写System.out.println("猫吃了鱼")这样的打印语句,另外狗有自己的方法看门guardEntrance(),猫自己独有的方法捉老鼠huntMice()
定义一个Test类,在main中定义两个Pet变量,pet1,pet2,采用引用转型实例化Dog,Cat,分别调用Pet的cry(),eat();
* (2)将Pet引强制转换为具体的Dog,Cat,在调Dog的guardEntrance(),Cat的huntMice()(提示:先用instanceof进行类型判断)
* (3)(思考)修改Test类,添加喂养宠物feedPet(Pet pet)的方法,在feedPet中调cry(),eat()方法,实例化Test类,再实例化狗 Dog dog = new Dog(),
猫 Pet cat = new Cat(), Test分别调feedPet()方法分别传参数cat,dog,思考这两种方式的异同,深入理解引入转型和多态
*/
package EighthWork;
/**
*
* @author Administrator
*/
public abstract class PetTest
{
//这里体现的是多态的实现机制,通过传入参数的对象不同来实现多态
public void feedPet(Pet pet)
{
System.out.print("\n");
pet.cry();
pet.eat();
}
public static void main(String[] args)
{
//采用转型实例化Dog和Cat
//属性和方法的调用是不同的,属性跟着父类引用的类型一致,方法与实例的引用一致
//也就是属性是在编译时就由父类决定 ,方法在由运行时决定
Pet pet1 = new Dog();
pet1.cry();
pet1.eat();
pet1 = new Cat();//实现动态多态的要求:继承、实例名字相同、
pet1.cry();
pet1.eat();
//将Pet强制转换为具体的Dog和Cat
// Pet pet1 = new Dog();
// Pet pet2 = new Cat();
// if(pet1 instanceof Dog)
// {
// Dog dog = (Dog)pet1;
// dog.guardEntrance();
// }
// if(pet2 instanceof Cat)
// {
// Cat cat = (Cat)pet2;
// cat.huntMice();
// }
//通过传递对象参数的引用实现多态
// PetTest petTest = new PetTest();
// Dog dog = new Dog();
// Pet cat = new Cat();
// petTest.feedPet(dog);
// petTest.feedPet(cat);
}
}
============================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package EighthWork;
/**
*
* @author Administrator
*/
public abstract class Pet
{
public void cry() //抽象类中也允许有非抽象方法
{
System.out.print("宠物在叫");
}
public void eat()
{
System.out.print("宠物在吃");
}
//抽象类都是应用于继承,子类应该重写抽象类中所有的抽象方法
public abstract void PetEat();
}
========================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package EighthWork;
/**
*
* @author Administrator
*/
public class Dog extends Pet
{
public Dog()
{
System.out.println("养了一只狗");
}
public void cry()
{
System.out.println("狗的叫声:汪汪...");
}
public void eat()
{
System.out.println("狗啃了一根骨头");
}
public void guardEntrance()
{
System.out.println("宠物狗在看门");
}
public void PetEat()
{
}
}
=======================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package EighthWork;
/**
*
* @author Administrator
*/
public class Cat extends Pet
{
public Cat()
{
System.out.println("养了一只猫");
}
public void cry()
{
System.out.println("猫在叫:喵喵...");
}
public void eat()
{
System.out.println("猫吃了一条鱼");
}
public void huntMice()
{
System.out.println("宠物猫抓了一只老鼠");
}
public void PetEat()
{ }
}
发表评论
-
线程学习二,notify和wait实现消费者-生产者同步问题
2010-07-27 02:06 1130/* 生产者-消费者的问题,对象有学生,家长,银行,AT ... -
线程学习二,ReentrantLock.Lock实现线程互斥
2010-07-26 12:57 932/* ReentrantLock.Lock实现线程互斥 ... -
线程学习一,wait和notify实现简单的同步
2010-07-26 10:56 943/* * 实现一个简单的wait-notify的线程同步问题 ... -
一阶段-twentithWork-数据库操作
2009-12-02 17:26 927/* 在任意数据库中建立表 userinfo 包含字段 Use ... -
一阶段-sevenWork-定义一个名为Vehicles(交通工具)的基类
2009-12-02 17:22 1841/* 定义一个名为Vehicles(交通工具)的基类,该类中应 ... -
一阶段-nineteenthWork-数据库操作
2009-12-02 17:16 692/* 在任意数据库中建立表 userinfo 包含字段 Use ... -
一阶段-fourteenWork-六-使用Random类模拟摇色子游戏
2009-12-02 17:11 1447/* 六.使用Random类模拟摇色子游戏.共5粒色子,分别显 ... -
一阶段-fourteenWork-5-利用Random类
2009-12-02 17:08 785/* 五.利用Random类,随机生成一个int 随机数,lo ... -
一阶段-fourteenWork-3-使用Calendar类
2009-12-02 17:06 919/* 三.使用Calendar类,编写程序求出你的出生的那一天 ... -
一阶段-fourteenWork-2-使用Date的Date(int year, int month, int date) 构造方法
2009-12-02 17:04 1209/* 二,使用Date的Date(int year, int ... -
一阶段-fourteenWork-1-Date类
2009-12-02 17:02 828/* 一.使用Date类求获取当前日期,分别使用下以下格式打印 ... -
一阶段-fourteenWork-4-Calendar类
2009-12-02 17:01 880/* 四. 使用Calendar类,打印出当前月的日历表,效果 ... -
一阶段-TwelveThWork-1-回文串
2009-12-02 16:58 744/* 练习内容一:回文串 编写程序CheckPalindro ... -
一阶段-TwelveThWork-2-随机整数
2009-12-02 14:03 881/* 练习内容二:猜数字 编写程序Guess,随机地产生一个 ... -
一阶段-SixteenthWork-读写文件
2009-12-02 12:40 837/* 在F盘下建立一个名为“学生成绩单”的目录,在里面新建一个 ... -
一阶段-SeventeenWork-4-读取txt文件
2009-12-02 12:34 897/* 4、接收两个命令行参数,用来代表用户名以及密码!判断是否 ... -
一阶段-SeventeenWork-3-用户和密码信息保存到test.txt文件中
2009-12-02 12:33 998/* * 3、接收命令行参数输入用户名/密码,并将用户和密码 ... -
一阶段-FifteenthWork-3-HashMap对象
2009-12-02 12:30 960/* 3. 创建一个HashMap对象,并在其中添加一些学员的 ... -
一阶段-FifteenthWork-2-使用ArrayList
2009-12-02 11:39 955/* 2. 编写一个程序,使用ArrayList存储客户的邮 ... -
一阶段-EighteenthWork-2-数据库操作
2009-12-02 11:30 856/* 二.在SQL Server 2005中附加student ...
相关推荐
+-------------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) · 6、 往表中加入记录 我们先用SELECT命令来查看表中的数据: mysql> select * from mytable; Empty set (0.00 sec...
字节缓冲流与字符流概述 字节缓冲流是 Java 中的一种流类型,它可以提高读写效率。字节缓冲流可以分为字节缓冲输出流和字节缓冲输入流两种。字节缓冲输出流可以将数据写入到文件中,而字节缓冲输入流可以从文件中...
Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元...字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)效率高。
ADO助手---一个获取ADO连接字符串,测试SQL命令的辅助软件 2010-09-06 +初始版本发布 ADO助手---一个获取ADO连接字符串,测试SQL命令的辅助软件 2010-09-06 +初始版本发布 2011-11-09 -修复有时候用DataGrid...
day09-字节缓冲流&字符流
1、博客地址:https://blog.csdn.net/gongjin28_csdn/article/details/121636558 ...代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。
本教程将详细介绍Java IO中的字节流、字符流、缓冲流以及转换流,并通过IODemo实例来展示它们的用法。 ### 1. 字节流 字节流是Java中最基础的流类型,用于处理以字节为单位的数据。字节流分为输入流(InputStream...
- **字符流**使用缓冲区,提高了文本数据的处理效率,特别适合处理Unicode字符。 - 缓冲区可以显著提高数据处理的速度,尤其是在频繁访问文件时。 #### 六、拓展知识点 - **缓冲流(BufferedInputStream/...
1. **InputStreamReader与OutputStreamWriter**: 这两个类是字符流的基础,它们分别用于读取和写入字符。InputStreamReader是字节流到字符流的桥梁,它依赖于一个字节流(如FileInputStream)并根据指定的字符集解码...
2023-04-06-项目笔记-第一阶段-4.4.1 局部变量的作用域 4.5.1 字面常量 4.5.2 const 修饰的常变量 4.5.3 #define 定义的标识符常量 4.5.4 枚举常量 5.1 字符串 5.1.1字符串使用 5.2 转义字符 5.2.1 常见的转义字符
字符缓冲流Bufferd,直接粘贴到eclipse或者cmd运行即可
+-------+---------+-----------+--------+--------+ ¦ hello ¦ "hello" ¦ ""hello"" ¦ hel'lo ¦ 'hello ¦ +-------+---------+-----------+--------+--------+ mysql> SELECT "hello", "'hello'", "''hello'...
59-IO流(转换流的字符编码).avi
- `BufferedReader`和`BufferedWriter`是缓冲流,提供了一次读写多个字符的能力,提高了效率。 - `PrintWriter`不仅具有写入功能,还支持格式化输出。 4. **文件写入的基本步骤** - 创建字符输出流对象,例如`...
+---------------+ | 代码区 | +---------------+ | 全局区 | +---------------+ | 堆区 | +---------------+ | 栈区 | +---------------+ ``` 在这个内存图中,代码区存放CPU执行的机器指令,全局区存放...
在Java中,除了字节流之外,还有一类流称为字符流。字符流主要用于处理文本数据,它能够避免字节流读取中文等多字节字符时可能出现的乱码问题。字符流是按照字符为单位进行读写的,每个字符通常占用两个字节。Java...
`get-stream`库提供了一种简洁的方法,将流数据转换为字符串、缓冲区(Buffer)或者数组,使得对流数据的处理变得更加方便。这个库由Sindre Sorhus创建,他在Node.js社区以其高质量的开源工具而闻名。 首先,让我们...
python python_剑指offer第54题字符流中第一个不重复的字符
缓冲流分为字节缓冲流和字符缓冲流两大类,分别是`BufferedInputStream`和`BufferedOutputStream`(处理字节流)以及`BufferedReader`和`BufferedWriter`(处理字符流)。缓冲流的主要作用在于减少对系统I/O操作的...