一家专门做特卖的网站手机版,wordpress textarea,网站推广效果的评价,宁波优化seo软件公司①.简述面向对象的三大特征 封装、继承、多态 1.封装#xff1a; 概念#xff1a; 是将类的某些信息隐藏在类的内部#xff0c;不允许外部程序直接访问#xff0c;而是通过该类提供的方法来实现对隐藏信息的操作和访问。 好处 #xff1a; ①便于修改#xff0c;增强了代…①.简述面向对象的三大特征 封装、继承、多态 1.封装 概念 是将类的某些信息隐藏在类的内部不允许外部程序直接访问而是通过该类提供的方法来实现对隐藏信息的操作和访问。 好处 ①便于修改增强了代码的可维护性。 ②隐藏了实现细节还要对外提供可以访问的方式。便于调用者的使用。 ③提高了安全性。 实现 使用private修饰符实现属性私有化并提供setter和getter方法 2.继承 概念 继承是把多个类中相同的内容给提取出来定义到一个类中这个类就叫做父类又称超类或基类而多个类就是子类 好处 ①提高了代码的复用度减少了代码的重复提高软件开发效率 ②继承的出现让类与类之间产生了关系提供了多态的前提 实现 通过关键字extends可以声明一个类是从另外一个类继承而来 3.多态 概念 接口的多种不同实现方式父类型引用指向子类型对象。 好处 ①简化了代码 ②提高了维护性和扩展性 缺点 ①通过父类引用操作子类对象时只能使用父类中已有的方法不能操作子类特有的方法 实现 ①存在继承关系 ②存在方法重写 ③父类型引用指向子类型对象 接口和抽象类的区别 接口 抽象类 构造方法 无 有用于子类实例化使用 抽象方法/具体方法 只有抽象方法 可以有抽象方法和具体方法 修饰符 只有private 四种修饰符都有public 、缺省、protected、private 成员变量 只能是常量(省略 public static final ) 可以是变量也可以是常量 具体方法静态方法、默认方法 1.为什么要引入静态方法 解决接口的修改与现有的实现不兼容问题。因为以前要加入抽象方法时抽象类必须要实现方法加入默认方法后后续实现的接口对他们没有多大影响。 2.为什么要引入默认方法 引进静态方法之后可以通过接口名来调用不用通过new实现类了。 重写 1.发生在子类中 2.方法名、形参列表、返回类型都相同权限修饰符的范围要大于父类方法声明异常范围要小于父类方法 3.子类和父类再同一个包中子类可以重写父类所有的方法。除了声明为private和final的方法和构造方法
重载 1.发生在同一类中 2.方法名相同参数列表、返回类型、权限修饰符可以不同 基本类型和封装类型 包装类 直接能够将简单类型的变量。在执行变量类型相互转换时会使用大量包装类
基本类型 VS 包装类型
基本类型 包装类型 声明方式不同 不需要new来创建 需要通过new的关键字的方式来创建 存储方式及位置不同 是直接存储变量的值保存在堆栈中能高效的存取 需要通过应用指向实例具体的实例保存在堆中 初始值不同 视具体值而定 初始值为null 使用方式不同 eg集合类合作使用时只能使用包装类型 基本类型和包装类型相互转换 基本类型---包装类型 通过new Integer(6); 包装类型---基本类型 通过parseInt();
原文链接https://blog.csdn.net/qq_44419734/article/details/131348078 1.如果比较的对象时基本类型则比较数值是否相等 2.如果比较的是应用数据类型则比较的对象是内存地址是否相等 equals 用来比较两个对象的内容是否相等 String 类能被继承吗为什么
String 是一个 final 修饰的类被final 修饰类不可以被继承
原因 1. 效率性String 类作为最常用的类之一禁止被继承和重写可以提高效率 2.安全性String 类中有很多调用底层✁本地方法调用了操作系统的API如果方法可以重写可能被植入恶意代码破坏程序 原文链接https://blog.csdn.net/qq_44419734/article/details/131348078 final: 可以修饰全局变量表示此变量必须赋初值且后期不可更改。 可以修饰局部变量表示该局部变量可以不赋初值一旦赋值后不可更改。 可以修饰类表示该类不可被继承 可以修饰方法表示该方法不可以被重写 finally 通常与try-catch联用声明在finally的语句代码块一定会被执行。 一般用于资源释放。 finalize 是垃圾回收机制中使用到的方法。