本文已参与「新人创作礼」活动, 一起开启掘金创作之路。
java基础
本文以java基础的各种面试问题进行总结;
-
Java中什么是对象?对象的三个特征是什么?
java中的对象,是一种开发者的思维,是开发人员针对内存中的一块区域给他标记了一个地址, 广泛的说对象可以做任何事情;总结来说,对象中包含属性、行为、地址 三个特征: 封装:是指把对象中的属性设置为私有的,只暴露get/set方法进行对属性设定或者取值 继承:一个类可以从另一个类中继承属性和方法。被继承的类称为父类或超类,继承的类称为子类或 派生类。子类可以继承父类的公有和受保护的属性和方法,但不能继承私有的属性和方法。 子类可以通过super关键字来调用父类的方法和属性,也可以在自己的类中定义和父类同名的 方法和属性,从而实现方法的重写和属性的隐藏。继承的优点是可以避免重复编写相似的代码, 提高代码的复用性和可维护性。但是,继承也存在一些缺点,比如增加代码的耦合性,可能会导 致子类和父类之间的紧密耦合,从而降低代码的灵活性和可扩展性。因此,在使用继承时需要慎 重考虑,根据具体情况选择合适的实现方式 class SubClass extends SuperClass { // 子类的代码 } 多态:是指同一类型的的对象在不桶情况下的不同的表现方式 1.编译时多态 编译时多态是指在编译时就能确定调用哪个方法,也称为静态多态。 Java中实现编译时多态的方式是方法重载, 即在同一个类中定义多个方法名相同但参数列表不同的方法。 编译器在编译时根据参数列表的类型和数量来决定调用哪个方法。 2.运行时多态 运行时多态是指在程序运行时根据实际情况确定调用哪个方法,也称为动态多态。 Java中实现运行时多态的方式是方法重写,即子类可以重写父类的方法,当调用方 法时,实际执行的是子类的方法。运行时多态的实现需要用到Java中的关键字 “override”和“super”,override(注解)表示重写,super()表示调用父类的方法 class Animal { public void makeSound() { System.out.println("Animal is making sound"); } } class Cat extends Animal { public void makeSound() { System.out.println("Cat is meowing"); } } class Dog extends Animal { public void makeSound() { System.out.println("Dog is barking"); } }