java 抽象类,接口,object类详解
抽象类:
如果一个类没有足够的信息去描绘一个具体的对象,那么这个类就可以叫做抽象类。
也可以叫做:可声明抽象方法的类==》抽象类
注意:
<1>抽象类不可以实例化对象,所以它只能被继承,才能使用。其他类的功能,它都可以实现。
<2>抽象类可以声明多个抽象方法,以及多个非抽象方法。
接口:interface:一系列行为的封装。
a、在接口中定义的成员变量,默认为:public static final
b、接口中不能有非抽象方法,即,不能有具体实现。
c、接口中声明的方法,默认为:public abstract
d、接口可以继承接口
f、类只能实现接口,不能继承接口。
g、类只能单继承,多实现。
Object:<所有类都默认继承的>
a、Object类是所有Java的基类,所有的Java类都可以覆写其中的非私有,非静态。
b、在不明确指定某一个Java类的父类时,该类默认继承Object类。
c、Object可以引用所有引用数据类型的变量指向的对象。
d、Object类型的变量,只能调用其对应类型中该类的非私有的,成员变量,或者成员方法,
无法直接调用其子孙类中定义的成员变量或方法。
e、Object类的变量只能用作各种值的通用持有者,要对他们进行专门的操作,需要进行对应的转型。
Final:
<1>修饰类:不可被继承
<2>修饰变量:只能初始化一次,之后不可改变值
<3>修饰方法>:不可被覆盖面
思考:
<1>抽象类与接口的区别:
1.概念不一样
前者是对我们所要得到对象们性质的总结,也就是对本质的抽象。例如,汽车,吉普车,电车,它们都是车,都是交通工具。
是这个对象,它是什么。
而后者是对动作的抽象。是这个对象能做什么。
一个类只能继承一个类(抽象类),但是可以实现多个接口,(java的一种变相的多重继承)。
2.使用方向不一样
关注事物的本质时,我们用抽象类,关注事物的具体操作时,我们用接口。
java 抽象类,接口,object类详解相关推荐
- Java中的Runtime类详解
Java中的Runtime类详解 1.类注释 /**Every Java application has a single instance of class Runtime that allows ...
- java线程池ThreadPoolExecutor类详解
线程池有哪些状态 1. RUNNING: 接收新的任务,且执行等待队列中的任务 Accept new tasks and process queued tasks 2. SHUTDOWN: 不接收 ...
- stringtokenizer java_基于Java中的StringTokenizer类详解(推荐)
StringTokenizer是字符串分隔解析类型,属于:Java.util包. 1.StringTokenizer的构造函数 StringTokenizer(String str):构造一个用来解析 ...
- java并发编程Future类详解
作用和举例 future类的作用就是为了调用其他线程完成好后的结果,再返回到当前线程中,如上图举例: 小王自己是主线程,叫外卖等于使用future类,叫好外卖后小王就接着干自己的事去了,当外卖到了的时 ...
- java day29【DBC基本概念 、快速入门 、对JDBC中各个接口和类详解】
第一章 JDBC 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本质:其实是官方(sun公司)定义的一套操作所有关系 ...
- java object 详解_Java基础之Object类详解
类Object是类层次结构的根类.每个类都直接或者间接地继承Object类.所有对象(包括数组)都实现这个类的方法.Object类中的构造方法只有一个,并且是无参构造方法,这说明每个类中默认的无参构造 ...
- Java Object类详解
Object 是 Java 类库中的一个特殊类,也是所有类的父类.也就是说,Java 允许把任何类型的对象赋给 Object 类型的变量.当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 O ...
- Java基础--object类详解
原文链接:https://www.cnblogs.com/zhangyinhua/p/7715486.html 阅读目录(Content) 一.clone()方法 1.1.clone与copy的区别 ...
- 1.2 Object类详解
Object类概述 Object类是所有Java类的根父类 如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类 Object类中的功能(属性.方法)就 ...
最新文章
- python空值填充_pandas | DataFrame基础运算以及空值填充
- 摘要:ASP.NET的路由
- 安装logstash,elasticsearch,kibana三件套
- Jquery特殊效果
- tp5的验证码点击刷新看不清 换一张
- SSL证书检查吊销状态
- java的双亲委派_深入理解Java的类加载器及双亲委派机制
- 2017 Multi-University Training Contest - Team 7:1002. Build a tree(递归)
- Java 分布式框架面试题合集
- 其他——精灵 4 RTK常见问题
- 目标跟踪常用算法——EKF篇
- 青果教务系统API(Java版)
- android蓝牙同步拨打电话状态,还不会用华为Watch打电话?这六个步骤要记清!
- 将vscode打造成无敌的IDE(1)初步探索vscode,解放生产力
- 使用Node.js手撸一个建静态Web服务器,内部CV指南
- android 发布最新系统更新包,Android 12系统
- 从“受精卵”到“独角兽”,有多大概率?
- 使用Nightwatch.js做基于浏览器的web应用自动测试
- linux环境下查看ibm mq mb日志
- ECshop4.1版本搭建
热门文章
- 【arduino】继续用arduino玩CyberPi童芯派之DA音频信号播放
- 【雷达书籍分享】RADAR SYSTEMS ANALYSIS AND DESIGN USING MATLAB
- 【STBC】Alamouti,STBC误码率仿真
- 使用screen后台运行python(基于centOS7.2)
- 判断页面是否加载完成
- Spark Streaming事务
- Python -- dict 类
- centos nfs端口固定
- ASP.NET MVC 音乐商店 - 7.成员管理和授权
- 关于无法用127.0.0.1连接数据库的解决办法