码迷,mamicode.com
首页 > 其他好文 > 详细

day13 面向对象练习

时间:2018-01-13 01:17:11      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:splay   hid   day   com   extend   rri   message   runtime   nal   

//1

技术分享图片

技术分享图片
 1 public class Area_interface
 2 {
 3     public static void main(String[] args)
 4     {
 5         Rect r = new Rect(15, 12);
 6         Circle c = new Circle(8);
 7         System.out.println(r.getArea());
 8         System.out.println(c.getArea());
 9     }
10 }
11 
12 interface Areable{
13     double getArea();
14 }
15 
16 class NotValueException extends RuntimeException{
17     NotValueException(String message){
18         super(message);
19     }
20 }
21 
22 // 矩形
23 class Rect implements Areable{
24     private int length,width;
25     public Rect(int length,int width) {
26         if (length <= 0 || width <= 0){
27             throw new NotValueException("数值非法!");
28         }
29         this.length = length;
30         this.width = width;
31     }
32     public double getArea()
33     {
34         return length*width;
35     }
36 }
37 
38 // 圆形
39 class Circle implements Areable{
40     private int radius;
41     private static final double PI = 3.14;
42     public Circle(int radius) {
43         this.radius = radius;
44     }
45     public double getArea()
46     {
47         return PI*radius*radius;
48     }
49 }
View Code

//2

技术分享图片

技术分享图片
 1 public int search_char(char[] chs, char key)
 2 {
 3     if(chs==null){
 4         throw new IllegalArgumentException("数组为空");
 5     }
 6     for(int x = 0;x < chs.length;x++){
 7         if(key==chs[x]){
 8             return x;
 9         }
10     }
11     return -1;
12 }
View Code

//3

技术分享图片

技术分享图片
 1 //first method
 2 int max = 0;     //初始化为数组中的任意一个角标
 3 for(int  x = 1; x < cir.length; x++){
 4     if(cir[x].radius > cir[max].radius){
 5         max = x;
 6     }
 7 }
 8 return  cir[max].radius;
 9 
10 //second
11 double max = cir[0].radius;    //初始化为数组任意一个元素的半径
12 for(int  x = 1; x < cir.length; x++){
13     if(cir[x].radius >max){
14         max = cir[x].radius;
15     }
16 }
17 return max;
View Code

//4

技术分享图片

 

技术分享图片
 1 class Person{
 2     private int age;
 3     private String name;
 4     public Person(int age, String name) {
 5         super();
 6         this.age = age;
 7         this.name = name;
 8     }
 9     
10     public void say()
11     {
12         System.out.println(name+"  "+age);
13     }
14     //下面两个都是通过右键搞定的
15     //get和set方法
16     public int getAge()
17     {
18         return age;
19     }
20     public void setAge(int age)
21     {
22         this.age = age;
23     }
24     public String getName()
25     {
26         return name;
27     }
28     public void setName(String name)
29     {
30         this.name = name;
31     }
32     //hashcode和equals方法
33     @Override
34     public int hashCode()
35     {
36         final int prime = 31;
37         int result = 1;
38         result = prime * result + age;
39         result = prime * result + ((name == null) ? 0 : name.hashCode());
40         return result;
41     }
42     @Override
43     public boolean equals(Object obj)
44     {
45         if (this == obj)
46             return true;
47         if (obj == null)
48             return false;
49         if (getClass() != obj.getClass())
50             return false;
51         Person other = (Person) obj;
52         if (age != other.age)
53             return false;
54         if (name == null) {
55             if (other.name != null)
56                 return false;
57         } else if (!name.equals(other.name))
58             return false;
59         return true;
60     }
61 }
equals方法通过eclipse自动生成

 

 技术分享图片

//5

技术分享图片

技术分享图片
1 public boolean equals(Object other){
2     if( !(other  instanceof  Circle) ){
3         throw new ClassCastException(other.getClass().getName+"类型错误");
4     }
5     Circle c = (Circle)other;
6     return  c.radius==this.radius;
7 }
View Code

 

day13 面向对象练习

标签:splay   hid   day   com   extend   rri   message   runtime   nal   

原文地址:https://www.cnblogs.com/-nbloser/p/8278156.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!