我是靠谱客的博主 紧张白云,最近开发中收集的这篇文章主要介绍java抽象(abstract)和接口(interface),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一: 抽象

(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)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部