首页 > 编程语言 >JAVA 抽象类

JAVA 抽象类

时间:2023-02-17 12:55:43浏览次数:42  
标签:aint JAVA int bint 抽象类 方法 public


抽象类

  在java 语言继承层次结构中, 位于上层的类更具有通用性,甚至更加抽象 ,这些类封装的方法被重写的可能更大. java 用关键字

   abstract 

格式为: 

[访问控制符] abstract class 类名 { 

    类体 ; 

}

比如 : 

public abstract class Myclass{...}

 说明 : 

  1.  抽象类只能被当做父类, 用来被继承,不能用 new 来创建和实例化对象;  
  2. 在抽象类中定义成员方法时 , 可以在方法名字前面加 abstract 来修饰方法 ,这个方法被称为 抽象方法 . 而且声明放在类中而方法的定义则放在子类中去实现 ; 
  3. 在抽象类中也可以定义非抽象方法 . 

实例 :

 

public class Test3_19 {

public static void main(String[] args) {
// TODO Auto-generated method stub
// MyAbstractClass amc = new MyAbstractClass () : 错误, 抽象类不能实例化对象
SubAbstractClass sac = new SubAbstractClass() ;
int sum = sac.sum(40, 50) ;
int sub = sac.sub(40, 50) ;
System.out.println("sum : " +sum );
System.out.println("sub : "+sub);
}

}
// 抽象类
public abstract class MyAbstractClass {
// 定义了抽象方法,抽象方法只能定义方法头 , 定义在子类中实现
public abstract int sum(int aint , int bint); // 在类中声明了抽象方法
public abstract int plus(int aint ,int bint);
public int sub(int aint , int bint) { // 普通的成员方法
return aint - bint ;
}
public int divide(int aint ,int bint) {
return aint/bint;
}
}
package cn.com.site3;

public class SubAbstractClass extends MyAbstractClass{
// 对抽象方法进行方法体的实现
public int sum(int aint , int bint) {
return aint+bint ;
}
public int plus(int aint ,int bint) {
return 0;
}
// 对抽象类的实例方法进行重写, 对象根据参数的个数决定调用哪个方法
public int sub(int aint ,int bint ,int cint) {
return aint - bint - cint ;
}
// 对抽象类的实例方法进行重写, 子类对象隐藏了父类中的同名方法
public int divide(int aint , int bint ) {
return aint/bint/10 ;
}
}

输出 :

sum : 90
sub : -10

 

标签:aint,JAVA,int,bint,抽象类,方法,public
From: https://blog.51cto.com/u_15970235/6063950

相关文章

  • 找素数(java)
    什么是素数?质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。实际案例比如我们想找出1-1000......
  • 2023-02-Java面试经历
    2022年12月中旬不幸被裁,拿N+1撤了,临近过年在家休息了一个月,元宵节之前从山西返杭的,2月7号开始投简历,谈谈最近面试的经历吧,期望能在2月底3月初左右入职吧....................
  • 1.1 Java介绍
    1.1Java介绍Java之父:詹姆斯·高斯林(JamesGosling)。Java三大平台:JavaSE:Java语言的(标准版),用于桌面应用的开发,是其他两个版本的基础。JavaME:Java语言的(小型版......
  • 下载JDK8 用Java写了hello world
     跟着b站上狂神说Java自己学的,因为感觉他的视频有一个完整清晰的体系,然后评价很好 一.下载和安装  1.下载  百度进JavaDownloads|Oracle中国直接注册下载......
  • Java 面向对象
    一、什么是面向对象面向对象编程:OOP,Object-OrientedProgramming。本质:以类的方式组织代码,以对象的形式组织(封装)数据。抽象三大特性:封装、继承、多态二、类与......
  • Java流程控制
    流程控制用户交互Scanner(java5新特性)通过Scanner类来获取用户的输入基本语法:Scanners=newScannner(System.in);方法:next()获取输入字符串nextLine()获取......
  • Java-
    mvnpackage-DskipTests报错:[INFO]BUILDFAILURE[INFO]------------------------------------------------------------------------[INFO]Totaltime:5.311s[INF......
  • 【tomcat启动报类找不到】java.lang.NoSuchMethodError org.springframework.util.Ref
    springboot项目打成war包,放tomcat里启动报错:java.lang.NoSuchMethodErrororg.springframework.util.ReflectionUtils.accessibleConstructor(Ljava/lang/Class;[Ljava/la......
  • [javascript]端序(endian)和Buffer对象的read|write系列函数
    假设有如下对象:varbuf=Buffer.from("Hello.\n");其保存在内存当中的形式实际上是这样的,这里我们假设该对象的内存地址从0x00开始:地址0x000x010x020x030x04......
  • 2023前端开发最新面试题收集-Javascript篇
    前台、中台、后台-前台:面向用户、客户可以感知的,如商城-中台:可以看着对前台的补充,公共服务功能,如支付系统、搜索系统、客服-后台:面向运营、比如商品管理、物流管理1......