概述
一: 抽象
(1)只是一个方法签名,没有方法体
abstract void setPages(int page);
(2)如果一个类有了一个抽象方法,这个类就必须声明为抽象类;如果父类是抽象类,子类必须覆盖所有在父类的抽象方法,否则子类也将成为一个抽象类
比如下面的例子,父类的四个方法都必须在子类中实现
(3)可以调用父类的成员变量
比如可以用this.pages=pages
package practice3;
abstract class Books{
int pages;
int prices;
abstract void setPages(int page);
abstract void setPrices(int price);
abstract int getPages();
abstract double getPrices();
}
class story extends Books{
@Override
void setPages(int page) {
// TODO Auto-generated method stub
this.pages=page;
}
@Override
void setPrices(int price) {
// TODO Auto-generated method stub
this.prices=price;
}
@Override
int getPages() {
// TODO Auto-generated method stub
return pages;
}
@Override
double getPrices() {
// TODO Auto-generated method stub
return prices;
}
}
class magzine extends Books{
@Override
void setPages(int page) {
// TODO Auto-generated method stub
this.pages=page;
}
@Override
void setPrices(int price) {
// TODO Auto-generated method stub
this.prices=price;
}
@Override
int getPages() {
// TODO Auto-generated method stub
return pages;
}
@Override
double getPrices() {
// TODO Auto-generated method stub
return prices;
}
}
public class test1 {
public static void main(String[] args) {
story s=new story();
s.setPages(100);
s.setPrices(20);
System.out.println(s.getPages());
System.out.println(s.getPrices());
magzine m=new magzine();
m.setPages(102);
m.setPrices(203);
System.out.println(m.getPages());
System.out.println(m.getPrices());
}
}
二:接口
(1)接口其实就是完全抽象的类
(2)接口所有的方法都没有方法体
默认的:
方法:public abstract
成员变量:public static final
(3)接口中的变量都必须初始化
(4)使用接口的类必须实现接口中的所有方法(类型:public)
package practice3;
interface Books{
int pages=0;
int prices=0;
public void setPages(int page);
public void setPrices(int price);
public int getPages();
public double getPrices();
}
class story implements Books{
int pages,prices;
public void setPages(int page) {
// TODO Auto-generated method stub
this.pages=page;
}
public void setPrices(int price) {
// TODO Auto-generated method stub
this.prices=price;
}
public int getPages() {
// TODO Auto-generated method stub
return pages;
}
public double getPrices() {
// TODO Auto-generated method stub
return prices;
}
}
class magzine implements Books{
int pages,prices;
public void setPages(int page) {
// TODO Auto-generated method stub
this.pages=page;
}
@Override
public void setPrices(int price) {
// TODO Auto-generated method stub
this.prices=price;
}
@Override
public int getPages() {
// TODO Auto-generated method stub
return pages;
}
@Override
public double getPrices() {
// TODO Auto-generated method stub
return prices;
}
}
public class test1 {
public static void main(String[] args) {
story s=new story();
s.setPages(100);
s.setPrices(20);
System.out.println(s.getPages());
System.out.println(s.getPrices());
magzine m=new magzine();
m.setPages(102);
m.setPrices(203);
System.out.println(m.getPages());
System.out.println(m.getPrices());
}
}
最后
以上就是紧张白云为你收集整理的java抽象(abstract)和接口(interface)的全部内容,希望文章能够帮你解决java抽象(abstract)和接口(interface)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复