当前位置: 首页 > news >正文

门户网站改版方案企业网站建设 租用服务器

门户网站改版方案,企业网站建设 租用服务器,广州建筑工程公司名单,网站制作公司美股上市目录 1. 抽象类1.1 抽象类的概念1.2 抽象类的语法1.3 抽象类的特点 2. 接口2.1 接口的概念2.2 接口的语法2.3 接口的特点2.4 实现多个接口2.5 接口的继承 3. 接口使用案例 铁汁们好,今天我们学习抽象类和接口~ 1. 抽象类 1.1 抽象类的概念 什么是抽象类?在面向对象中,如果一…

目录

  • 1. 抽象类
    • 1.1 抽象类的概念
    • 1.2 抽象类的语法
    • 1.3 抽象类的特点
  • 2. 接口
    • 2.1 接口的概念
    • 2.2 接口的语法
    • 2.3 接口的特点
    • 2.4 实现多个接口
    • 2.5 接口的继承
  • 3. 接口使用案例

铁汁们好,今天我们学习抽象类和接口~

1. 抽象类

1.1 抽象类的概念

什么是抽象类?在面向对象中,如果一个类中的信息并不能完整地描述一个对象,这样的类就是抽象类,拿我们之前的例子:
在这里插入图片描述

Dog类和Cat类继承了Animal类,Animal中有eat方法,但是猫除了吃,还能抓老鼠,如果在Animal中加上抓老鼠的方法,那么狗继承了Animal,也就是说狗也能抓老鼠,这显然有点不现实,所以Animal并不能完整的描述一个对象,此时我们可以把它设计成抽象类,那么如何设计?

1.2 抽象类的语法

当一个类被abstract关键字修饰时,这个类就是抽象类

abstract class Animal{//...
}

注意事项:
1.抽象类中可以包含普通的方法和属性,也可以包含构造方法
2.如果一个方法被abstract修饰,表示该方法是抽象方法,抽象方法不能有具体的实现,如

abstract class Animal{public abstract void func();
}

1.3 抽象类的特点

抽象类有以下特点:

  1. 抽象类不能实例化:不能通过new来进行实例化
Animal animal = new Animal();
//错误的,抽象类不能实例化
  1. 抽象类中的抽象方法不能是private修饰的

  2. 抽象类中的抽象方法不能有具体实现,是因为抽象类的作用主要是被继承,子类需要重写抽象类中的抽象方法

abstract class Animal{public abstract void func(){}//错误的,花括号就表示这个方法有具体实现
}
  1. 抽象方法不能是final和static修饰的(因为要被子类重写)
  2. 抽象类中可以没有抽象方法,但是抽象方法一定是在抽象类当中才能出现

2. 接口

2.1 接口的概念

接口是啥?在java中,可以认为是很多个类的公共规范,接口是一种引用数据类型.比如USB接口,安卓充电器接口,这些接口都是统一大小的,只要符合规范,大家都能使用它.

2.2 接口的语法

在java中,接口的定义和类的定义格式比较类似,将class替换成interface关键字即可

public interface 接口名{
//....
}

2.3 接口的特点

  1. 接口也不能实例化
  2. 接口中的方法都是抽象方法,是被public abstract修饰的,不能被其他修饰符修饰
  3. 接口中的方法不能有具体实现,只有加了default或者static的方法才能实现
    例如:
interface IA {static void fun1() {System.out.println("static");}default void fun2() {System.out.println("default");}
}
  1. 接口中的成员变量默认是public static final修饰的,所以必须赋初始值
  2. 接口中的方法和变量一般不加修饰符,这样代码更加美观,清晰
interface IA {int A = 10;void func();
}
  1. 接口中不能出现静态代码块/构造方法/实例代码块
  2. 重写接口中的方法时,重写的方法只能是public的
  3. 当一个类需要实现某个接口时,使用implements关键字,而且这个类必须重写接口的方法
interface IA {int A = 10;void func();
}
class A implements IA{@Overridepublic void func() {}
}

2.4 实现多个接口

java中不能有多继承(一个类继承多个类),但是一个类可以实现多个接口,接口很好的解决了java不能多继承这个问题

interface IA {//...
}interface IB {//...
}class A implements IA, IB {//...
}

2.5 接口的继承

接口之间也可以继承,接口之间的继承同样使用extends

interface IA {//...
}interface IB extends IA {//...
}

3. 接口使用案例

父类Animal(抽象类)

public abstract class Animal {protected String name;protected int age;public Animal(String name, int age) {this.age = age;this.name = name;}
}

IFly接口

public interface IFly {void Flying();
}

IRunning接口

public interface IRunning {void Running();
}

子类(实现了IFly, IRunning接口,并且重写了接口中的方法)

public class Duck extends Animal implements IFly, IRunning {public Duck(String name, int age) {super(name, age);}@Overridepublic void Flying() {System.out.println(this.name + "正在飞");}@Overridepublic void Running() {System.out.println(this.name + "正在跑");}
}
http://www.yayakq.cn/news/208232/

相关文章:

  • 申请免费网站公司做么做好网站运营
  • 南昌网站建设专业公司镇平微网站建设
  • 自主建站是什么意思网页设计结课论文
  • 英语工作室网站怎么做网站诚信认证怎么做
  • 一级a做爰片不卡的网站毕业设计网站开发选题依据
  • 陕西网站seo湛江企业网站建站模板
  • 网站手机自适应建设网站时的常见故障分类
  • 长安做外贸网站ps做的图怎么做成网站前端
  • 网站如何兼容ie6网站开发工程师项目经验怎么写
  • 长沙抖音推广代运营公司网站优化推广外包
  • 网站程序定制开发流程wordpress 连接微博专业版
  • 网站建设后台长沙新媒体运营公司
  • 可以做动画的网站都有哪些软件wordpress 中文标签插件
  • h5网站的优势陈铭生我来找你了
  • 企业网站上海熙哪个网站可以查企业信息
  • 通州网站建设是什么专业做制作网站
  • 相册管理网站模板下载高德地图可以搜索国外吗
  • pr效果做的好的网站有哪些微信公众平台和微网站的区别
  • 建设求职网站廊坊网站建设团队
  • 网站建设西班牙语为什么做金融网站犯法
  • 企业的网站建设费账务处理网站更换服务器对seo的影响
  • 合肥网站建设第一品牌wordpress 微信群发
  • html怎么做网站地图济南哪个网站建设最好
  • 网站邮箱配置阿里云做网站要几天
  • 淘宝联盟+做网站一个网站的欢迎页怎样做
  • 保定微网站 建设wordpress代码seo
  • python做网站好吗网站在线建设方案
  • 怎么做好网站阿里 云网站
  • 护肤网站模版wordpress主题和预览不同
  • 阿里云 iis 默认网站东道设计属于什么档次