网站首页 > java教程 正文
java中的抽象是面向对象编程的重要课题之一。 java中的抽象是类和函数的修饰符。 抽象基本上意味着对我们的用户隐藏细节,只向他们展示功能。 它们是使用抽象的两种方式:
- 接口
- 抽象类
让我先谈谈抽象类。 我们可以在编写类关键字之前用“抽象”关键字声明它们。 让我们看一些抽象类的例子,这样你就可以对这个概念有一个很好的直觉:
获取变量的绝对值:
abstract class MyAbsClass{abstract int getAbslouteValue(int input) ;}public class javacoding extends MyAbsClass {int getAbslouteValue(int input){return Math.abs(input) ;}public static void main(String args[]){MyAbsClass object1 = new javacoding() ;System.out.print(object1.getAbslouteValue(-2)) ;
// output : 2 }}
验证年龄:
// abstract class
abstract class MyAbstractClass {
//abstract method
abstract void func();
} class UnderAge18 extends MyAbstractClass {void func(){
System.err.print("bro you are under 18") ; }
}
class OverAge18 extends MyAbstractClass{
void func(){System.out.print("ok bro") ; }}
public class javacoding {
public static void main (String args[]){ int age = 19 ; MyAbstractClass Obj1 ; if (age >= 18){
Obj1 = new OverAge18() ;
}
else {
Obj1 = new UnderAge18() ; }
Obj1.func() ;
// output : ok bro }}
我想现在你对抽象类有了很好的直觉,注意我写的方法之前的 abstract 关键字。 如果你想要一个抽象类来修改你想要的类,你应该先继承它,现在让我们深入了解抽象类的一些细节:
- 抽象类,就像普通类一样,可以有构造函数,可以有没有抽象关键字的普通方法。
- 它们不能被实例化
- 他们可以有最终的方法
- 他们也可以有静态方法
所以现在,让我们进入接口:
首先,什么是接口! 好吧,接口是类的蓝图。它包含静态常量和抽象方法:D。 让我们看看为什么界面如此有用!
- 我们可以对它们使用多重继承
- 它们易于使用
注意:多重继承是指继承两个类合二为一
现在让我们看一些接口示例,原因与您看到抽象类示例的原因相同:
显示日期:
import java.util.Date ;// interface named inter
interface inter {
void show_date() ;}// implementing
class ShowDate implements inter {public void show_date (){Date d = new Date() ;System.out.print("date is : "+ d.toString()) ;}}public class javacoding {public static void main (String args[]){ShowDate Object = new ShowDate() ;Object.show_date();}}
10秒计算光速
// our interface
interface s {// speed of light static constant
final int speed_of_light = 300000 ;}// main class implements
public class javacoding implements s {public static void main (String args[]){// since constants are static i can use them easilyint seconds = 10 ;System.out.print("speed of light in 10 sec : \n"+speed_of_light*seconds) ;}}
如您所见,我们的接口需要使用implement关键字,它的语法相对简单
注意:接口在 jdk 1.8 中可以有方法
关注七爪网,获取更多APP/小程序/网站源码资源!
猜你喜欢
- 2024-10-24 Bigo的Java面试,我挂在了第三轮技术面上...
- 2024-10-24 纯干货|盘点Java常见的30个误区与细节
- 2024-10-24 JAVA中红黑树(javahashmap红黑树)
- 2024-10-24 一文让你理解java中的类加载器(java类加载器的作用)
- 2024-10-24 初识java—(三十五)Math类、Random类和BigDecimal类
- 2024-10-24 Java高级进阶-从计算机底层解析左移、右移、无符号右移
- 2024-10-24 终于有人把Git最火Java全套详细笔记(吐血放出)资料给分享出来了
- 2024-10-24 【算法题】1749. 任意子数组和的绝对值的最大值
- 2024-10-24 Java 的流程控制是什么样子的(java中的流程控制语句有哪些)
- 2024-10-24 Java常用内置函数(java内部类怎么调用)
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)