Java抽象类 Java接口 抽象类和接口使用区别: activity 深度继承关系

简介: Java抽象类 Java接口 抽象类和接口使用区别: activity 深度继承关系

Java抽象类



1、抽象类使用abstract修饰;


2、抽象类不能实例化,即不能使用new关键字来实例化对象;


3、含有抽象方法(使用abstract关键字修饰的方法)的类是抽象类,必须使用abstract关键字修饰;


4、抽象类可以含有抽象方法,也可以不包含抽象方法,抽象类中可以有具体的方法;


5、如果一个子类实现了父类(抽象类)的所有抽象方法,那么该子类可以不必是抽象类,否则就是抽象类;


6、抽象类中的抽象方法只有方法体,没有具体实现;


Java接口



接口:


1、接口使用interface修饰;


2、接口不能被实例化;


3、一个类只能继承一个类,但是可以实现多个接口;


4、接口中方法均为抽象方法;


5、接口中不能包含实例域或静态方法(静态方法必须实现,接口中方法是抽象方法,不能实现)


抽象类和接口使用区别:



抽象类中的成员变量可以是各种类型的    而接口中的成员变量只能是public static final类型的。


A,B,C 三个类貌似差不多啊,有很多公共的属性或者方法,于是我,抽象出一个抽象类D,将这些公共的部分放到抽象类中,然后ABC三个类继承自这个抽象类D。所以,抽象类是“自下而上”的;


抽象类是很有用的重构工具,它将继承层次结构上移,这种上移操作一般是后发的。

抽象类是对一类事物的抽象。它通过继承操作实现它的终极目标:复用。


所以,抽象类是能拥有普通属性和普通方法的,它除了不能实例化和必须有抽象方法外,和普通类没太大区别。


接口则不一样,它是“自上而下”的设计理念,我们工作的设计过程中,一般都是先设计好接口,先不考虑具体的实现。


所以,如果说抽象类是对事物的抽象,接口就是对行为的抽象,接口建立了类和类之前的契约和协议,这也是它的终极目标:行为契约。


接口将接口和具体实现两者解耦的更加彻底,使得面向接口编程更加的容易和纯粹。


activity 深度继承关系



activity  ---ContextThemeWrapper---ContextWrapper---Context


Context:


public abstract class Context {}

是一个抽象类,里面有很多的activity的一些操作以及文件操作等等


例如:


public abstract void startActivity(Intent var1);
public abstract void startActivity(Intent var1, Bundle var2);


目录
相关文章
|
1月前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
111 5
|
2月前
|
Java 程序员 调度
Java 高级面试技巧:yield() 与 sleep() 方法的使用场景和区别
本文详细解析了 Java 中 `Thread` 类的 `yield()` 和 `sleep()` 方法,解释了它们的作用、区别及为什么是静态方法。`yield()` 让当前线程释放 CPU 时间片,给其他同等优先级线程运行机会,但不保证暂停;`sleep()` 则让线程进入休眠状态,指定时间后继续执行。两者都是静态方法,因为它们影响线程调度机制而非单一线程行为。这些知识点在面试中常被提及,掌握它们有助于更好地应对多线程编程问题。
84 9
|
2月前
|
安全 Java 程序员
Java面试必问!run() 和 start() 方法到底有啥区别?
在多线程编程中,run和 start方法常常让开发者感到困惑。为什么调用 start 才能启动线程,而直接调用 run只是普通方法调用?这篇文章将通过一个简单的例子,详细解析这两者的区别,帮助你在面试中脱颖而出,理解多线程背后的机制和原理。
77 12
|
3月前
|
数据采集 JSON Java
利用Java获取京东SKU接口指南
本文介绍如何使用Java通过京东API获取商品SKU信息。首先,需注册京东开放平台账号并创建应用以获取AppKey和AppSecret。接着,查阅API文档了解调用方法。明确商品ID后,构建请求参数并通过HTTP客户端发送请求。最后,解析返回的JSON数据提取SKU信息。注意遵守API调用频率限制及数据保护法规。此方法适用于电商平台及其他数据获取场景。
|
3月前
|
Java
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
今日分享的主题是如何区分&和&&的区别,提高自身面试的能力。主要分为以下四部分。 1、自我面试经历 2、&amp和&amp&amp的不同之处 3、&对&&的不同用回答逻辑解释 4、彩蛋
|
3月前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
66 6
|
4月前
|
Java 程序员
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
小米,29岁程序员,分享了一次面试经历,详细解析了Java中&和&&的区别及应用场景,展示了扎实的基础知识和良好的应变能力,最终成功获得Offer。
114 14
|
3月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
44 1
|
4月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
127 8
|
4月前
|
Java API
Java中内置的函数式接口
Java中内置的函数式接口
57 2

热门文章

最新文章