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

闵行网站建设免费seo快速收录工具

闵行网站建设,免费seo快速收录工具,做网站开发学什么语言,广州个性化网站开发博客制作不易,欢迎各位点赞👍收藏⭐关注前言在学习面向对象编程语言时,封装、继承、多态则是我们必须学习和使用的三大特征。本文通过举例,说明了该三大特征的基本权限特点。一、访问限定符范围private默认权限protectedpublic同一…

博客制作不易,欢迎各位点赞👍+收藏⭐+关注


前言

在学习面向对象编程语言时,封装、继承、多态则是我们必须学习和使用的三大特征。

本文通过举例,说明了该三大特征的基本权限特点。


一、访问限定符

范围

private

默认权限

protected

public

同一包中的同一类

同一包中的不同类

不同包中的子类

不同包中的非子类

注:访问权限用来控制方法或成员变量能否直接在类外使用。


二、封装

  1. 什么是封装

封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。

顾名思义,保护或防止类中的属性或方法被破坏,同时又提供一个接口,使对象可以使用该对象的封装属性或方法。

主要使用private关键字。

2.封装的案例

通过创建一个Stu类,在Main类创建Stu对象,访问该对象属性和方法举例说明。

class Stu{private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}private void print(String name){System.out.println(name + "在学习");}public void getPrint(String name){print(name);}
}
public class Main {public static void main(String[] args) {Stu stu = new Stu();stu.setName("大佬");stu.getPrint( stu.getName() );}
}

输出结果为:

在该代码中,使用private修饰的属性和方法均属于私有成员,在该类外不能直接访问和使用。于是我们通过setName/getName()/getPrint间接访问和使用,这里的setName/getName()/getPrint就是对外公开的接口


二、继承

  1. 什么是继承

继承:是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性 的基础上进行扩展,增加新功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了 由简单到复杂的认知过程。

例如下图关系:

父类具有的属性和方法,在子类当中都可以通过super关键字访问和使用。如果是创建了子类对象,也可以正常访问父类的内容,如果父类方法发生了重写,则需要通过super.方法(参数)访问和使用

继承的使用,可以大大提高代码的简化,使同一段代码重复使用

注意: 1. 若父类显式定义无参或者默认的构造方法,在子类构造方法第一行默认有隐含的super()调用,即调用基类构 造方法 。 2. 如果父类构造方法是带有参数的,此时需要用户为子类显式定义构造方法,并在子类构造方法中选择合适的 父类构造方法调用,否则编译失败。 3. 在子类构造方法中,super(...)调用父类构造时,必须是子类构造函数中第一条语句。 4. super(...)只能在子类构造方法中出现一次,并且不能和this同时出现。

2.继承的案例

通过创建一个Tree类, 再创建一个OsmanthusTree类继承Tree类,访问该对象属性和方法举例说明。

class Tree{String name;public String age;public static String ascription;//归属public String function;//作用static{ascription = "中国持有";}public void springSprout(String name){System.out.println(this.name + "发芽");}
}class OsmanthusTree extends Tree{private String disease;//该树患病public String getDisease() {return disease;}public void setDisease(String disease) {this.disease = disease;}
}public class Inherit {public static void main(String[] args) {OsmanthusTree osmanthusTree = new OsmanthusTree();osmanthusTree.name = "小❀❀";osmanthusTree.setDisease("白蚁吞噬");System.out.println(osmanthusTree.name + osmanthusTree.getDisease());System.out.println(osmanthusTree.name + "治疗之后");osmanthusTree.springSprout( osmanthusTree.name );}
}

输出结果为:

在该代码中,使用 extends 连接Tree类和 OsmanthusTree类。 OsmanthusTree类为子类,Tree类为父类,在 OsmanthusTree中可以访问Tree的所有属性和方法。

也就是说,在子类中可以访问父类的所有属性和方法(私有权限除外)


三、多态

  1. 什么是多态

多态:同一件事情,发生在不同对象身上,就会产生不同的结果。 比如下图示意:

  1. 多态的案例

通过创建一个父类Creature, 再创建Person类和Cat类继承Creature类,访问该对象属性和方法举例说明。

class Creature{String name;int age;public Creature(String name, int age) {this.name = name;this.age = age;}public void eat(){System.out.println(this.name + "在吃午饭");}
}class Person extends Creature{public Person(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println(this.name + "在吃米饭");}
}class Cat extends Creature{public Cat(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println(this.name + "在吃猫粮");}
}public class Polymorphism {public static void test(Creature creature){creature.eat();}public static void main(String[] args) {test(new Person("人类", 19));System.out.println("===========");test(new Cat("小猫", 2));System.out.println("===========");}
}

输出结果:

由输出结果可知,不同的子类继承父类,在该类中重写了某个方法之后,又使用该被重写的方法,会得到不同的结果。这就是多态带来的便利,同时我们也可以得知多态实现的几个必要条件:

  1. 必须在继承关系下;

  1. 必须在子类中发生父类方法的重写;

  1. 通过子类的引用调用重写的方法。


总结

上述代码展示和图文说明就是封装、继承、多态的全部啦。

这篇博客如果对你有帮助,给博主一个免费的点赞以示鼓励,欢迎各位🔎点赞👍评论收藏⭐,谢谢!!!

如果有什么疑问或不同的见解,欢迎评论区留言哦。

http://www.hkea.cn/news/228604/

相关文章:

  • 公司做网站需要给百度交钱吗百度竞价推广方案
  • 网站建设的关键seo推广小分享
  • 写小说的小网站百度关键词排名优化
  • 制作网站的成本规划公司如何建立网站
  • html语言做网站石嘴山网站seo
  • 做最好的言情网站官网seo优化
  • 云南建设监理协会网站营销失败案例分析
  • 怎么样做淘宝优惠券网站搜索引擎营销的优缺点
  • wordpress动态订单seo社区
  • 网站域没到期不能续费吗google谷歌搜索
  • 厦门好的做网站公司网络营销推广方式都有哪些
  • 重庆市建设工程信息官网站自己做网站的流程
  • 网站建设公司怎么做网络营销网站推广
  • 360应用商店seo服务套餐
  • 废橡胶网站建设个人博客网页设计
  • 什么网站做一手项目好域名查询官网
  • 做日用品的要找什么网站好站长工具端口检测
  • 贵州软件开发 网站开发手机版百度一下
  • 企业网站建立答辩问题百度怎么发布广告
  • 温州快建网站地推拉新接单网
  • 濉溪县城乡建设委员会燃气办网站热狗网站排名优化外包
  • 网站能不能自己做免费的seo教程
  • 湖南的商城网站建设优化教程网下载
  • 做网站需要哪些工程师西安seo诊断
  • tp做的网站封装成app2023北京封控了
  • 增城做网站要多少钱推广普通话手抄报
  • 石家庄网站系统开发智能搜索引擎
  • 迅速网站网络营销平台推广方案
  • 学前端要逛那些网站微信引流主动被加软件
  • 韩国flash网站免费手机网站建站平台