- 浏览: 51318 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 1083/* 生产者-消费者的问题,对象有学生,家长,银行,AT ... -
线程学习二,ReentrantLock.Lock实现线程互斥
2010-07-26 12:57 893/* ReentrantLock.Lock实现线程互斥 ... -
线程学习一,wait和notify实现简单的同步
2010-07-26 10:56 903/* * 实现一个简单的wait-notify的线程同步问题 ... -
一阶段-twentithWork-数据库操作
2009-12-02 17:26 903/* 在任意数据库中建立表 userinfo 包含字段 Use ... -
一阶段-sevenWork-定义一个名为Vehicles(交通工具)的基类
2009-12-02 17:22 1789/* 定义一个名为Vehicles(交通工具)的基类,该类中应 ... -
一阶段-nineteenthWork-数据库操作
2009-12-02 17:16 629/* 在任意数据库中建立表 userinfo 包含字段 Use ... -
一阶段-fourteenWork-六-使用Random类模拟摇色子游戏
2009-12-02 17:11 1415/* 六.使用Random类模拟摇色子游戏.共5粒色子,分别显 ... -
一阶段-fourteenWork-5-利用Random类
2009-12-02 17:08 748/* 五.利用Random类,随机生成一个int 随机数,lo ... -
一阶段-fourteenWork-3-使用Calendar类
2009-12-02 17:06 890/* 三.使用Calendar类,编写程序求出你的出生的那一天 ... -
一阶段-fourteenWork-2-使用Date的Date(int year, int month, int date) 构造方法
2009-12-02 17:04 1172/* 二,使用Date的Date(int year, int ... -
一阶段-fourteenWork-1-Date类
2009-12-02 17:02 760/* 一.使用Date类求获取当前日期,分别使用下以下格式打印 ... -
一阶段-fourteenWork-4-Calendar类
2009-12-02 17:01 842/* 四. 使用Calendar类,打印出当前月的日历表,效果 ... -
一阶段-TwelveThWork-1-回文串
2009-12-02 16:58 708/* 练习内容一:回文串 编写程序CheckPalindro ... -
一阶段-TwelveThWork-2-随机整数
2009-12-02 14:03 838/* 练习内容二:猜数字 编写程序Guess,随机地产生一个 ... -
一阶段-SixteenthWork-读写文件
2009-12-02 12:40 790/* 在F盘下建立一个名为“学生成绩单”的目录,在里面新建一个 ... -
一阶段-SeventeenWork-4-读取txt文件
2009-12-02 12:34 850/* 4、接收两个命令行参数,用来代表用户名以及密码!判断是否 ... -
一阶段-SeventeenWork-3-用户和密码信息保存到test.txt文件中
2009-12-02 12:33 958/* * 3、接收命令行参数输入用户名/密码,并将用户和密码 ... -
一阶段-FifteenthWork-3-HashMap对象
2009-12-02 12:30 894/* 3. 创建一个HashMap对象,并在其中添加一些学员的 ... -
一阶段-FifteenthWork-2-使用ArrayList
2009-12-02 11:39 923/* 2. 编写一个程序,使用ArrayList存储客户的邮 ... -
一阶段-EighteenthWork-2-数据库操作
2009-12-02 11:30 829/* 二.在SQL Server 2005中附加student ...
相关推荐
+------+---------------------------------------+ 3 rows in set (0.00 sec) repeat()函数 用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数 mysql> select repeat('ab',2); +---------------...
+-------------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) · 6、 往表中加入记录 我们先用SELECT命令来查看表中的数据: mysql> select * from mytable; Empty set (0.00 sec...
Ctrl + B -- 光标前移1个字符 Ctrl + D -- 删除光标后1个字符 Ctrl + E -- 光标移至行末 Ctrl + F -- 光标后移1个字符 Ctrl + H -- 删除光标前的1个字符 Ctrl + J -- 回车 Ctrl + k -- 删除当前光标至行末的...
ORA-06512 数字或值错误,字符缓冲区太小的解决方法。 有图有真相,希望对你有帮助。
Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元...字符流(一次可以处理一个缓冲区)一次操作比字节流(一次一个字节)效率高。
SecureCRT是一款广泛的终端仿真:支持 SSH1,SSH2,Telnet,RLogin,Serial,和 TAPI 协议。 本文件为4个执行文件,分别是32位和64位的SecureCRT安装器和Keygen生成器。 64位亲测可用,32位暂未测试使用。 ————...
ADO助手---一个获取ADO连接字符串,测试SQL命令的辅助软件 2010-09-06 +初始版本发布 ADO助手---一个获取ADO连接字符串,测试SQL命令的辅助软件 2010-09-06 +初始版本发布 2011-11-09 -修复有时候用DataGrid...
day09-字节缓冲流&字符流
Ctrl + B -- 光标前移1个字符 Ctrl + D -- 删除光标后1个字符 Ctrl + E -- 光标移至行末 Ctrl + F -- 光标后移1个字符 Ctrl + H -- 删除光标前的1个字符 Ctrl + J -- 回车 Ctrl + k -- 删除当前光标至...
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。 SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和...
2023-04-06-项目笔记-第一阶段-4.4.1 局部变量的作用域 4.4.2 全局变量的作用域 4.4.3 局部变量的生命周期 4.4.4 全局变量的生命周期 4.5.1 字面常量 4.5.2 const 修饰的常变量 4.5.3 #define 定义的标识符常量 ...
JavaIO实例,包括:字节流、字符流、缓冲流、转换流
1、博客地址:https://blog.csdn.net/gongjin28_csdn/article/details/121636558 ...代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。
常用快捷键总结。 快捷键编辑 Alt + Enter -- 全屏 Alt + B --打开新的连接 ... Ctrl + B -- 光标前移1个字符 Ctrl + D -- 删除光标后1个字符 Ctrl + E -- 光标移至行末 Ctrl + F -- 光标后移1个字符 ......
爪一种用4个unicode8字符存储经纬度的方法,使传送位置更短。...字符 1 0 1 2 3 4 5 6 7+-+-+-+-+-+-+-+-+| H | F |S|+-+-+-+-+-+-+-+-+| H | int_A |+-+-+ +-+-+-+-+| H | | |+-+-+-+-+ +| H | dec_A1 |+-+-
1.1字节缓冲流构造方法【应用】 1.2字节流复制视频【应用】 2.1为什么会出现字符流【理解】 2.2编码表【理解】 2.3字符串中的编码解码问题【应用】 2
基于OpenCV+C++的车牌识别系统+tiny-dnn中的CNN框架做字符识别,+swift做Mac界面开发,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于OpenCV+C++的车牌识别...
ditaa是一个用Java编写的小型命令行实用程序,可以将使用ascii艺术绘制的图形(“图形”包含类似于| / -字符)转换为适当的位图图形。 下面的示例可以最好地说明这一点-与其他方法相比,它也说明了使用ditaa的好处:...
CC++全排列..1--n的全排列以及字符串的全排列