暑假自学(27)

对接口加深了理解

接口实验代码:

Circle.class

public class Circle {
private double radius;

public double getRadius() {
return radius;
}

public void setRadius(double radius) {
this.radius = radius;
}

public Circle() {

}

public Circle(double radius) {
super();
this.radius = radius;
}
}

CompareObject.interface

public interface CompareObject {
public int compareTo(Object o) ;
}

CompareCircle.class

public class CompareCircle extends Circle implements CompareObject{
public CompareCircle(double radius) {
super(radius);
}
@Override
public int compareTo(Object o) {
if(this == o) {
return 0;
}
if(o instanceof CompareCircle) {
CompareCircle c = (CompareCircle)o;
if(this.getRadius() >c.getRadius()) {
return 1;
}
else if (this.getRadius() <c.getRadius()) {
return -1;
}
else
return 0;
}
else
{
throw new RuntimeException("传入的数据类型不匹配");
}
}

CompareCircleTest.class

public class CompareCircleTest {
public static void main(String[] args) {

CompareCircle c1 = new CompareCircle(3.4);
CompareCircle c2 = new CompareCircle(3.6);
int compareValue = c1.compareTo(c2);
if(compareValue > 0) {
System.out.println("c1大");
}else if(compareValue < 0){
System.out.println("c2大");
}else {
System.out.println("相等");
}
int compareValue1 = c1.compareTo(new String("AA"));
System.out.println("compareValue1");
}

}

内部类:

内部类:
1.Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类

2.内部类的分类:成员内部类(静态,非静态) vs 局部内部类(方法内,代码块内,构造器内)

3.成员内部类:
一方面,作为外部类的成员:
调用外部类的结构
可以被static修饰
可以被四种不同的权限修饰
另一方面,作为一个类
类内可以定义属性,方法,构造器等
可以被final修饰,表示此类不能被继承。言外之意,不使用final,就可以被继承
可以被abstract修饰

原文地址:https://www.cnblogs.com/buxiang-Christina/p/13414927.html