Java公开课-02.抽象类和接口
在讲述抽象类和接口之前,扯点别的:封装,继承,多态,我只做个简单的涉略
一,封装
1.体现:
将变量和方法放到一个类中
私有字段封装成共有属性
2.this:
如果发现成员变量的名称和方法参数的名称相同,如何区分???
答:是否有this关键字做前缀区分,有this的,成员变量,没有this的,方法参数
3.封装价值:
可以保护私有字段,限制非法访问
二,继承
不介绍如何使用。讲点新颖的
1.体现:
extends修饰
2。继承关系下,构造的执行顺序
1)。首先由测试方法跳入子类方法名,不进入方法体
2)。跳入父类的方法名,紧接着进入父类构造方法的方法体
3)。父类构造方法体执行完毕时,说明父类对象已经构建完毕
4)。控制权再次交到子类构造的构造体内执行
5)。子类构造执行完毕,回到测试方法
6)。测试方法该代码执行完毕,创建出对象
三,多态
1.含义:
不同事物执行同一命令产生不同结果
2.依据:
里氏替换
四,抽象类
1.抽象类出现的价值
为了约束子类方法的格式,为了让子类可以灵活重写父类的 方法(抽象类的方法只有方法名,没有方法体)
2.抽象类的写法
由abstract修饰类名
3.抽象类可以有什么?抽象类和抽象方法的注意事项:
1)。抽象类中可以有非抽象成员
2)。抽象方法一定在抽象类中
3)。抽象类和抽象方法用abstract修饰
4)。抽象类不能实例化
5)。抽象类不能是静态类
6)。子类必须重写抽象父类的抽象方法,除非子类也是抽象类
7)。抽象方法不能有方法体,甚至连{}都不能有
五,接口
1.编程的进化史
机器语言
汇编 语言
面向过程的语言
面向对象的语言(可以说面向接口编程)
2.接口interface
3.接口中可以包含什么
抽象方法和静态常量
4.接口与类的区别:
接口不能用于实例化对象。
接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
5.抽象类和接口的区别
抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
.一个类只能继承一个抽象类,而一个类却可以实现多个接口。
- 接口不是被类继承了,而是要被类实现。
Java公开课-02.抽象类和接口的更多相关文章
- 学习经验分享(最近听了一节Java公开课)
最近听了一节Java公开课,讲的Tomcat8.0的,老师分享的学习方法很好, 时间和精力要用对地方 1.学习一个知识的广度和深度,先学主要的主流的,不要学了很多不该学,没必要学的东西 2.要花时间总 ...
- (转)java提高篇(五)-----抽象类与接口
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念 ...
- java提高篇(五)-----抽象类与接口
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念 ...
- 十、Java基础---------面向对象之抽象类与接口
抽象类(abstract) 当编写一个类时,时常会为该类定义一些方法,这些方法的使用用以描述该类的行为方式,那么这些方法都有具体的方法体.但是在某些情况下,某个父类只是知道子类应该包含怎样的方 ...
- Java中多态、抽象类和接口
1:final关键字(掌握) (1)是最终的意思,可以修饰类,方法,变量. (2)特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. C:它修饰的变量,是一个常量. (3)面试相关: ...
- Java学习日记-7 抽象类和接口
一.抽象类 abstract修饰:类和类中的方法 抽象方法:abstract type name(parameter-list);(abstract不能修饰static方法和构造函数) 引用:抽象类有 ...
- JAVA 继承基本类、抽象类、接口
Java是一个面向对象的语言,java面向对象一般有三大特征:封装.继承.多态. 封装:就是把一些属性和方法封装到一个类里. 继承:就如子类继承父类的一些属性和方法. 多态:就如一个父类有多个不同特色 ...
- Java基础系列--06_抽象类与接口概述
抽象类 (1)如果多个类中存在相同的方法声明,而方法体不一样,我们就可以只提取方法声明. 如果一个方法只有方法声明,没有方法体,那么这个方法必须用抽象修饰. 而一个类中如果有抽象方法,这个类必须定义为 ...
- Java提高篇之抽象类与接口
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念 ...
随机推荐
- 《java入门第一季》之面向对象(static关键字)
/* static的特点:(它可以修饰成员变量,还可以修饰成员方法) A:随着类的加载而加载 回想main方法. B:优先于对象存在 C:被类的所有对象共享 举例:班级的学生应该共用同一个班级编号. ...
- Unable To Import Or Enter Sale Order - ORA-20001: APP-FND-01564: ORACLE error - 1422 in get_seq_info
In this Document Symptoms Cause Solution APPLIES TO: Oracle Order Management - Version 12.0.4 ...
- URL 多线程下载
该资源来源于李刚老师的疯狂JAVA讲义 InutStream openStream():打开与此URL链接,并返回一个用于读取该URL资源的InputStream. 提供的openStream()可以 ...
- LeetCode之“动态规划”:Distinct Subsequences
题目链接 题目要求: Given a string S and a string T, count the number of distinct subsequences of T in S. A s ...
- android 自定义gallerey并实现预览功能
自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果.的确HorizontalScrollView可以实现Gal ...
- 【Android 应用开发】BluetoothDevice详解
一. BluetoothDevice简介 1. 继承关系 public static Class BluetoothDevice extends Object implement Parcelable ...
- 部署与管理ZooKeepe
1.部署 本章节主要讲述如何部署ZooKeeper,包括以下三部分的内容: 1. 系统环境 2. 集群模式的配置 3. 单机模式的配置 系统环境和集群模式配置这两节内容大体讲述了如何部署一个能够用于生 ...
- 程序设计之---单例模式VS静态方法
我们在设计程序经常会有这种需求 , 某个类里的方法能够全局访问. 在这种情况下有两种实现方案 : 1>单例模式(Singleton); 2>静态方法. 但是, 对于这两种实现方式 , 那种 ...
- 操作json数据
删除: delete json[key] 把json字符串转成jsonObject : eval(+'('+json+')'+) 把jsonObject 转换成json字符串 :json.toJSON ...
- webpack.config.js配置文件
1.基本配置 webpack在执行时,除在命令行传入参数,还可以通过指定的配置文件来执行.默认会搜索当前目录下webpack.config.js.这个文件是一个node.js模块,返回一个json格式 ...