java 实例分析 接口与类的应用

  1 import java.util.Scanner;
2
3 interface Pet{
4 public int getAge();
5 public String getColor();
6 public String getName();
7 }
8
9 class Cat implements Pet{
10 private String name;
11 private String color;
12 private int age;
13 public Cat(String name,String color,int age){
14 this.setName(name);
15 this.setColor(color);
16 this.setAge(age);
17 }
18 public int getAge() {
19 return age;
20 }
21 public String getColor() {
22 return color;
23 }
24 public String getName(){
25 return this.name;
26 }
27 public void setAge(int age) {
28 this.age = age;
29 }
30 public void setColor(String color) {
31 this.color = color;
32 }
33 public void setName(String name) {
34 this.name = name;
35 }
36
37 }
38
39 class Dog implements Pet{
40 private String name;
41 private String color;
42 private int age;
43 public Dog(String name,String color,int age){
44 this.setName(name);
45 this.setColor(color);
46 this.setAge(age);
47 }
48 public int getAge() {
49 return age;
50 }
51 public String getColor() {
52 return color;
53 }
54 public String getName(){
55 return this.name;
56 }
57 public void setAge(int age) {
58 this.age = age;
59 }
60 public void setColor(String color) {
61 this.color = color;
62 }
63 public void setName(String name) {
64 this.name = name;
65 }
66
67 }
68 class PetShop{
69 private Pet[] pets;
70 private int foot;
71 public PetShop(int len){
72 if(len>0){
73 this.pets=new Pet[len];
74 }
75 else{
76 this.pets=new Pet[1];
77 }
78 }
79
80 public boolean add(Pet pet){
81 if(this.foot<this.pets.length){
82 this.pets[this.foot]=pet;
83 this.foot++;
84 return true;
85 }
86 else{
87 return false;
88 }
89 }
90
91 public Pet[] search(String keyWord){//关键字查找,返回的是Pet数组
92 Pet p[]=null;
93 int count=0;
94 for(int i=0;i<this.pets.length;i++){
95 if(this.pets[i]!=null){
96 if(this.pets[i].getName().indexOf(keyWord)!=-1||this.pets[i].getColor().indexOf(keyWord)!=-1){
97 count++;
98 }
99 }
100 }
101 p=new Pet[count];//开辟对象数组
102 int f=0;//设置增加的标记
103 for(int i=0;i<this.pets.length;i++){
104 if(this.pets[i]!=null){
105 if(this.pets[i].getName().indexOf(keyWord)!=-1||this.pets[i].getColor().indexOf(keyWord)!=-1){
106 p[f]=this.pets[i];
107 f++;
108 }
109 }
110 }
111 return p;
112 }
113 }
114 public class PetshopDemo {
115
116 public static void main(String args[]){
117 PetShop ps=new PetShop(2);
118 ps.add(new Cat("whiteCat","white",2));
119 ps.add(new Dog("blackDog","black",3));
120 print(ps.search("black"));
121 }
122 public static void print(Pet p[]){
123 for(int i=0;i<p.length;i++){
124 if(p[i]!=null){
125 System.out.println(p[i].getName()+","+p[i].getColor()+","+p[i].getAge());
126 }
127 }
128 }
129 }

-------------------------------------------------------------------------------------------------------------------------------------------------

运用pet接口,自定义宠物的数量,应使用数组。运用indexOf统计数量

转载于:https://www.cnblogs.com/dennisac/archive/2012/03/07/2384204.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
包与接口实验报告 实验 包与接口 【实验目的】 1. 了解Java 中包(package)、接口(interface)的作用。 2. 掌握包、接口设计方法。 【实验要求】 1. 了解Java 系统包的结构。 2. 掌握创建自定义包的方法。 3. 掌握使用系统接口的技术和创建自定义接口的方法。 【实验步骤】 一.了解并使用Java 的系统包 1. API 包、接口、异常处理的作用 包是接口的集合。利用包可以把常用的或功能相似的放在一个包中。Java 语言提供系统包,其中包含了大量的,可以在编写Java 程序时直接引用它们。为便于管理和使用它们,将这些分为了不同的包。包又称库或API 包,所谓API(Application Program Interface)即应用程序接口。API 包—方面提供丰富的与方法供大家使用,如画图形、播放声音等,另一方面又负责和系统软硬件打交道,圆满实现用户程序的功能。所有Java API 包都以“java.”开头,以区别用户创建的包。 常见Java系统包及其作用: 1)语言包(java.lang):提供的支持包括字符串处理、多线程处理、异常处理、数学函数处理等,可以用它简单地实现Java程序的运行平台。 2)实用程序包(java.util):提供的支持包括哈希表、堆栈、可变数组、时间和日期等。 输入输出包(java.io):用统一的流模型来实现所有格式的I/O,包括文件系统、网络、输入。 3)网络包(java.net):支持Internet的TCP/IP协议,用于实现Socket编程;提供了与Internet的接口,支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计。 4)抽象图形用户接口包(javax.swing):实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得 Java可以移植到不同的平台。 接口解决了Java 不支持多重继承的问题,可以通过实现多个接口达到与多重继承相同的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值