30.抽象类
- 用 abstract关键字修饰的类就是抽象类
- 用 abstract关键字修饰的方法叫抽象方法,抽象方法没有方法体
- 抽象类只是一种约束,继承它的类必须重写他的全部抽象方法,除非继承它的类也是一个抽象类
- 抽象类不能被new关键字所创建出实例
- 抽象方法只能存在于抽象类中,抽象类中可以存在普通方法
- 抽象类命名规范:抽象类命名使用 Abstract 或 Base 开头
package com.Interface.demo.Abstract;
public abstract class AbstractDemo1 {
public abstract int maxInt();
public abstract int minInt();
public abstract int minDouble();
public abstract int maxDouble();
}
class A extends AbstractDemo1{
@Override
public int maxInt() {
return 0;
}
@Override
public int minInt() {
return 0;
}
@Override
public int minDouble() {
return 0;
}
@Override
public int maxDouble() {
return 0;
}
}
31.接口
-
接口的本质是契约,它也是一种约束
-
不同的是,在Java中接口可以多继承
-
接口通过interface关键字定义
-
接口实现类通过>implements关键实现,接口实现类必须实现接口的方法
-
接口命名规范
- 提供服务类接口要以Impl结尾
- 如果是形容能力的接口推荐使用able结尾
-
尽量不要在接口中定义变量!
package com.Interface.demo.Interface;
public interface UserInfo {
String getName();
void setName(String name);
void setAge(int age);
int getAge();
}
package com.Interface.demo.Interface;
public class UserInfoImpl implements UserInfo {
@Override
public String getName() {
return null;
}
@Override
public void setName(String name) {
}
@Override
public void setAge(int age) {
}
@Override
public int getAge() {
return 0;
}
}