当前位置: 首页 > news >正文

宁波网站建设服务电话新开传奇网站韩版

宁波网站建设服务电话,新开传奇网站韩版,直接进入网址的浏览器,阳江商城网站开发设计目录 一.抽象类 1.什么是抽象类 2.抽象类特点 (1)抽象类不能直接实例化对象 (2)可以包含抽象方法和具体方法 (3)可以有构造方法 (4)抽象类必须被继承#xff0c;并且继承后子类要重写父类中的抽象方法#xff0c;否则子类也是抽象类#xff0c;必须要使用 abstract 修…目录 一.抽象类 1.什么是抽象类 2.抽象类特点 (1)抽象类不能直接实例化对象 (2)可以包含抽象方法和具体方法 (3)可以有构造方法 (4)抽象类必须被继承并且继承后子类要重写父类中的抽象方法否则子类也是抽象类必须要使用 abstract 修饰 (5)抽象方法不能是 private 的 (6)抽象方法不能被final和static修饰 (7)抽象类中不一定包含抽象方法但是有抽象方法的类一定是抽象类 (8)可以包含常量或实例变量 (9)成员变量不能被abstract修饰 一.抽象类 对于抽象类来说抽象类就和他的名字一样抽象! 至于怎么个抽象法举个例子图形Shape他并不特指哪一种形状并不确切的描述某一对象。他可以是三角形四边形圆形。 一个类中没有包含足够的信息来描绘一个具体的对象这样的类就是抽象类。 我们理解了之后就可以来学习咯 1.什么是抽象类 抽象类是用 abstract 修饰的类它不能被直接实例化。关键字abstract 抽象类可以包含 抽象方法没有方法体的方法。普通方法有具体实现的方法。成员变量字段。构造方法。 定义语法 abstract class AbstractClass {protected int val; //成员变量 abstract void abstractMethod(); // 抽象方法void concreteMethod() {System.out.println(普通方法);} }2.抽象类特点 (1)抽象类不能直接实例化对象 只能通过其子类来实例化对象。 (2)可以包含抽象方法和具体方法 抽象方法没有方法体由子类实现。 具体方法是有实现代码的方法可以直接被子类继承或覆盖。 abstract class Animal{private String name;private int age;public Animal(String name,int age){this.ageage;this.namename;System.out.println(name今年age岁);}abstract void sound();//抽象方法没有方法体public void methodA(){//具体方法是有实现代码的方法可以直接被子类继承或覆盖。System.out.println(这是方法A);} } (3)可以有构造方法 尽管它不能直接被实例化。构造方法在抽象类中存在的主要目的是让其子类可以通过调用这些构造方法来初始化从抽象类继承的成员变量或执行抽象类的初始化逻辑。 abstract class Animal{private String name;private int age;public Animal(String name,int age){this.ageage;this.namename;System.out.println(name今年age岁);}abstract void sound(); } class Dog extends Animal{public Dog(String name, int age) {super(name, age);}Overridevoid sound() {System.out.println(汪汪汪~);}} public class Main {public static void main(String[] args) {Dog dognew Dog(小七,2); //通过子类来实例化并且在子类的构造方法调用父类的构造方法} } (4)抽象类必须被继承并且继承后子类要重写父类中的抽象方法否则子类也是抽象类必须要使用 abstract 修饰 abstract class Animal{private String name;private int age;public Animal(String name,int age){this.ageage;this.namename;System.out.println(name今年age岁);}//抽象方法abstract void sound();public void methodA(){System.out.println(这是方法A);} } class Dog extends Animal{public Dog(String name, int age) {super(name, age);}//重写的方法Overridevoid sound() {System.out.println(汪汪汪~);}}如果把这一段代码删掉: Overridevoid sound() {System.out.println(汪汪汪~);} 则会报错 我们来试着来将子类设置为抽象类 可以看到子类没有报错提示了。但是子类又不能实例化对象了因为被设置为抽象类了嘛。 (5)抽象方法不能是 private 的 修饰符的非法组合“abstract”和“private” 这是因为这个抽象类被继承时子类必须重写父类的抽象方法当我们将该抽象方法写为private时我们的子类就无法重写该抽象方法也无法实现它导致编译错误因为private只能是同一类中才能够访问所以抽象方法不能是private的。 (6)抽象方法不能被final和static修饰 修饰符的非法组合“abstract”和“final” 修饰符的非法组合“abstract”和“static” 因为抽象方法要被子类重写。被final和static修饰了子类就不能重写该抽象方法也无法实现了。 虽说是抽象方法不能被final和static和private修饰但是抽象类里边的普通方法是可以被修饰的。 (7)抽象类中不一定包含抽象方法但是有抽象方法的类一定是抽象类 抽象类是用 abstract 修饰的类但它可以不包含抽象方法。如果一个类是抽象的即使没有抽象方法它仍然不能被直接实例化。这种抽象类的设计通常是为了提供一个基础类用于子类的继承可能包含一些已经实现的方法或共享的成员变量。 如果一个类中有任何一个方法被声明为 abstract那么这个类必须用 abstract 修饰。否则编译器会报错因为没有 abstract 修饰的类默认是具体类可以被实例化但具体类不能包含未实现的方法。 (8)可以包含常量或实例变量 抽象类可以定义常量final 修饰和普通的实例变量。 (9)成员变量不能被abstract修饰 在 Java 中成员变量不能是抽象的。这是因为 抽象 的概念是针对方法的表示方法没有具体实现要求子类去实现 为什么 一方面抽象方法表示没有实现的方法依赖子类提供具体实现。而变量只是数据没有“实现”的概念因此不符合抽象的意义。 另一方面成员变量在类加载时或对象创建时必须占用内存并初始化。如果变量是抽象的无法确定其存储位置也无法初始化。
http://www.w-s-a.com/news/907447/

相关文章:

  • 北京南昌网站建设网站查看空间商
  • 网站建设人员职责分布乐清市网站建设设计
  • 网站建设etw网站建设陕西
  • 网站文章页内链结构不好可以改吗wordpress英文模板下载
  • 北京天通苑 做网站哈尔滨快速网站排名
  • 网站开发负责人是什么职位试剂网站建设
  • 什么是展示型网站wordpress链接视频
  • 佳木斯城乡建设局网站过年做哪个网站能致富
  • 石家庄快速网站搭建设计公司属于什么企业
  • 中小学智慧校园建设平台网站sem竞价推广
  • 想创建一个网站官方网站建设推广
  • 江门网站优化民间it网站建设
  • 科研实验室网站建设wordpress加载模板
  • 用r做简易的网站软件园二期做网站的公司
  • 菏泽网站建设价格长春高档网站建设
  • PHP网站开发与管理设计心得网站流量图怎么做
  • 苏州做网站企业wordpress点击文字弹出层
  • 做网站必要性中山古镇做网站
  • 增城住房和城乡建设局网站2021网站你懂我意思正能量
  • seo优秀网站深圳企业医疗网站建设
  • 单页 网站 模板重庆微信网站制作专家
  • 石家庄网站定制制作企业所得税优惠政策最新2022文件
  • 免费推广网站途径有哪些郑州企业型网站建设
  • wap网站建设设计wordpress首页名称
  • wordpress网站换空间南宁网站设计可以找我
  • 期货贵金属网站建设招远网站建设哪家专业
  • 上海网站排名个人网站可以做百度推广
  • 网站主题及样式优化个人网站 可以做论坛吗
  • 中企动力 网站推广一级域名免费申请
  • 山东专业的网站建设博罗做网站哪家强