摘要: 重载就是同样的一个方法能够根据输入数据的不同,做出不同的处理 重写就是当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法 阅读全文
posted @ 2021-07-15 14:27 行之星 阅读(75) 评论(0) 推荐(0)
摘要: 发生在同一个类中(或者父类和子类之间),方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同。 下面是《Java 核心技术》对重载这个概念的介绍: 综上:重载就是同一个类中多个同名方法根据不同的传参来执行不同的逻辑处理。 阅读全文
posted @ 2021-07-15 14:26 行之星 阅读(185) 评论(0) 推荐(0)
摘要: 重写发生在运行期,是子类对父类的允许访问的方法的实现过程进行重新编写。 返回值类型、方法名、参数列表必须相同,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类。 如果父类方法访问修饰符为 private/final/static 则子类就不能重写该方法,但是被 static 修饰的方法能够被再 阅读全文
posted @ 2021-07-15 14:24 行之星 阅读(196) 评论(0) 推荐(0)
摘要: “两同”即方法名相同、形参列表相同; “两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等; “一大”指的是子类方法的访问权限应比父类方法的访问权限更大或相等。 ⭐️ 关于 重写的返回值类型 这里需要额外多说明一下,上面的表 阅读全文
posted @ 2021-07-15 14:21 行之星 阅读(255) 评论(0) 推荐(0)
摘要: 浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递般的拷贝,此为浅拷贝。 深拷贝:对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容,此为深拷贝。 阅读全文
posted @ 2021-07-15 14:16 行之星 阅读(32) 评论(0) 推荐(0)
摘要: 面向过程 :面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。 面向对象 :面向对象易维护、易复用、易扩展。 因为面 阅读全文
posted @ 2021-07-15 14:15 行之星 阅读(189) 评论(0) 推荐(0)
摘要: 从语法形式上看,成员变量是属于类的,而局部变量是在代码块或方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 final 所修饰。 从变量在内存中的存储方式 阅读全文
posted @ 2021-07-15 14:12 行之星 阅读(314) 评论(0) 推荐(0)
摘要: 对象的相等,比的是内存中存放的内容是否相等。而引用相等,比较的是他们指向的内存地址是否相等。 阅读全文
posted @ 2021-07-15 14:09 行之星 阅读(387) 评论(0) 推荐(0)
摘要: new 运算符,new 创建对象实例(对象实例在堆内存中),对象引用指向对象实例(对象引用存放在栈内存中)。 一个对象引用可以指向 0 个或 1 个对象(一根绳子可以不系气球,也可以系一个气球);一个对象可以有 n 个引用指向它(可以用 n 条绳子系住一个气球)。 阅读全文
posted @ 2021-07-15 14:07 行之星 阅读(416) 评论(0) 推荐(0)
摘要: 构造方法主要作用是完成对类对象的初始化工作。 如果一个类没有声明构造方法,也可以执行!因为一个类即使没有声明构造方法也会有默认的不带参数的构造方法。如果我们自己添加了类的构造方法(无论是否有参),Java 就不会再添加默认的无参数的构造方法了,这时候,就不能直接 new 一个对象而不传递参数了,所以 阅读全文
posted @ 2021-07-15 14:04 行之星 阅读(1404) 评论(0) 推荐(0)
摘要: 特点: 名字与类名相同。 没有返回值,但不能用 void 声明构造函数。 生成类的对象时自动执行,无需调用。 构造方法不能被 override(重写),但是可以 overload(重载),所以你可以看到一个类中有多个构造函数的情况。 阅读全文
posted @ 2021-07-15 14:01 行之星 阅读(261) 评论(0) 推荐(0)
摘要: Object 类是一个特殊的类,是所有类的父类。它主要提供了以下 11 个方法: public final native Class<?> getClass()//native方法,用于返回当前运行时对象的Class对象,使用了final关键字修饰,故不允许子类重写。 public native i 阅读全文
posted @ 2021-07-15 14:00 行之星 阅读(285) 评论(0) 推荐(0)
摘要: 封装 封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。就好像我们看不到挂在墙上的空调的内部的零件信息(也就是属性),但是可以通过遥控器(方法)来控制空调。如果属性不想被外界访问,我们大可不必提供方法给外界 阅读全文
posted @ 2021-07-15 13:56 行之星 阅读(48) 评论(0) 推荐(0)
摘要: 可变性 简单的来说:String 类中使用 final 关键字修饰字符数组来保存字符串,private final char value[],所以String 对象是不可变的。 补充(来自issue 675):在 Java 9 之后,String 、StringBuilder 与 StringBuf 阅读全文
posted @ 2021-07-15 13:50 行之星 阅读(109) 评论(0) 推荐(0)
摘要: 何为反射? 如果说大家研究过框架的底层原理或者咱们自己写过框架的话,一定对反射这个概念不陌生。 反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。 通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。 反射机制优缺点: 优点 : 可以让咱们 阅读全文
posted @ 2021-07-15 13:36 行之星 阅读(67) 评论(0) 推荐(0)