接口的数据成员一定要有初值,且此值将不能再更改,可以省略 接口中的方法必须是“抽象方法” ,不能有方法体,可以省略 声明一个接口Shape2D ,包括π和计算面积的方法原型 在接口的声明中,允许省略一些关键字 ,也可声明如下 Circle实现Shape2D接口 Rectangle类实现Shape2D接口 接口测试类 运行结果 运行结果: 实现多接口 测试类: 运行结果:文章目录
接口
但不规定方法主体;
final。接口的作用
接口的语法
[接口修饰符] interface接口名称[extends父接口名]{ ..//方法的原型声明或静态常量
final关键字。
public及abstract关键字。interface Shape2D{ //声明Shape2D接口 final double pi=3.14;//数据成员-定要初始化 public abstract double area(); //抽象方法 }
interface Shape2D{ double pi=3.14; double area(); }
实现接口
关键字,语法如下:public class类名称implements接口名称{ //在类体中实现接口的方法 //本类声明的更多变量和方法 }
public class Circle implements Shape2D { double radius; public Circle(double r) { radius=r; } public double area(){ return (pi * radius * radius); } }
class Rectangle implements Shape2D { int width,height; public Rectangle(int w,int h) { width=w; height=h; } public double area(){ return (width * height); } }
public class InterfaceTester { public static void main(String args[]){ Rectangle rect=new Rectangle(5,6); System.out.println("Area of rect="+ rect.area()); Circle cir=new Circle(2.0); System.out.println("Area ofcir= " + cir.area()); } }
如果在声明时将两个变量声明为Shape2D
类型,在使用时将会自动转换。public class InterfaceTester { public static void main(String args[]){ Shape2D rect, cir; rect=new Rectangle(5,6); System.out.println("Area of rect="+ rect.area()); cir=new Circle(2.0); System.out.println("Area ofcir= " + cir.area()); } }
实现多个接口的语法
[类修饰符] class类名称implements 接口1,接口2, ...{ }
interface Shape2D{ //声明Shape2D接口 final double pi=3.14; //数据成员一定要初始化 public abstract double area(); //抽象方法 }
interface Color{ void setColor(String str); //抽象方法 }
public class Circle implements Shape2D,Color { double radius; String color; public Circle(double r) { radius=r; } public double area(){ return (pi * radius * radius); } public void setColor(String str){//定义setColor()的处理方式 color=str; System.out.println("color=" +color); } }
public class InterfaceTester { public static void main(String args[]){ Circle cir; cir=new Circle(2.0); cir.setColor("blue"); System.out.println("Area of cir= " + cir.area()); } }
接口的扩展
interface子接口的名称extends超口的名称1 ,超接口的名称2,..{ }
类型转换
类型转换的概念
类型转换规则
明过的方法。隐式类型转换
可以转换的类型之间,存储容量低的自动向存储容量高的类型转换。
被转成更一般的类,例如:Employee emp; emp = new Manager(); //将Manager类型的对象直接赋给 //Employee类的引用变量,系统会 //自动将Manage对象塑型为Employee类
Car jetta = new Car(); Insurable item = jetta;
显式类型转换
(int)871.34354;// 结果为871 (char)65;//结果为'A' (long)453;//结果为453L
Employee emp; Manager man; emp = new Manager(); man = (Manager)emp; //将emp显式转换为它指向的对象的类型
类型转换的主要应用场合
类型转换的主要应用场合
赋值运算符右边的表达式或对象类型转换为左边的类型;
实参的类型转换为形参的类型;
算数混合运算时 ,不同类型的操作数转换为相同的类型再进行运算 ;
字符串连接运算时,如果一个操作数为字符串,另一个操作数为其他类型 ,则会自动将其他类型转换为字符串。多态
多态的概念
的对象响应同一消息时的行为可以有所差别。
多态的目的
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算