让我们看下面的示例,以更好地理解它。
class Adder { Static int add(int a, int b) { return a + b; } Static double add(double a, double b) { return a + b; } public static void main(String args[]) { System.out.println(Adder.add(11, 11)); System.out.println(Adder.add(12.3, 12.6)); } } 方法覆盖:在“方法重写”中,子类具有与父类相同的名称,名称和类型,参数和返回类型的方法。
方法覆盖是“改变”方法的现有行为。
它是运行时多态性。
这些方法必须具有相同的签名。
它始终需要在“方法覆盖”中进行继承。
让我们看下面的示例,以更好地理解它。
class Car { void run() { System.out.println("car is running"); } } class Audi extends Car { void run() { System.out.prinltn("Audi is running safely with 100km"); } public static void main(String args[]) { Car b = new Audi(); b.run(); } } Q9。您可以覆盖Java中的私有或静态方法吗?您不能在Java中覆盖私有或静态方法。如果您在子类中创建具有相同返回类型和相同方法参数的类似方法,则它将隐藏超类方法;否则,它将隐藏超类方法。这称为方法隐藏。同样,您不能覆盖子类中的私有方法,因为在那里无法访问它。您可以做的是在子类中创建另一个具有相同名称的私有方法。让我们看下面的示例,以更好地理解它。
class Base { private static void display() { System.out.println("Static or class method from Base"); } public void print() { System.out.println("Non-static or instance method from Base"); } class Derived extends Base { private static void display() { System.out.println("Static or class method from Derived"); } public void print() { System.out.println("Non-static or instance method from Derived"); } public class test { public static void main(String args[]) { Base obj = new Derived(); obj1.display(); obj1.print(); } } } } Q10。什么是多重继承?Java支持吗? 如果子类从多个类继承属性,则称为多重继承。Java不允许扩展多个类。多重继承的问题在于,如果多个父类具有相同的方法名称,则在运行时,编译器将很难从子类中决定执行哪个方法。
因此,Java不支持多重继承。该问题通常称为“钻石问题”。
Q11。 Java中的封装是什么?封装是一种将数据(变量)和代码(方法)绑定为一个单元的机制。在这里,数据对外界是隐藏的,只能通过当前的类方法进行访问。这有助于保护数据免受任何不必要的修改。我们可以通过以下方式实现Java封装:
将一个类的变量声明为私有。
提供公共的setter和getter方法来修改和查看变量的值。
Q12。什么是关联?关联是所有对象都有其自己的生命周期且没有所有者的关系。让我们以老师和学生为例。多个学生可以与一个老师联系,一个学生可以与多个老师联系,但是对象之间没有所有权,并且两者都有自己的生命周期。这些关系可以是一对一,一对多,多对一和多对多。
Q13。集合是什么意思?集合是关联的一种特殊形式,其中所有对象都有其自己的生命周期,但是有所有权,子对象不能属于另一个父对象。让我们以部门和老师为例。一个老师不能属于多个部门,但是如果删除该部门的老师对象,则不会销毁。
Q14。Java中的成分是什么?组合还是聚集的一种特殊形式,我们可以称其为“死亡”关系。这是强类型的聚合。子对象没有生命周期,如果删除父对象,则所有子对象也将被删除。让我们再次以房屋与房间之间的关系为例。房子可以包含多个房间,没有独立的房间生活空间,任何房间都不能属于两个不同的房子,如果我们删除房子,房间将自动删除。
Q15。什么是接口?
接口可以定义为没有数据成员和成员函数的接口。简单来说,空接口称为标记接口。Java中Marker接口的最常见示例是Serializable,Cloneable等。可以按以下方式声明marker接口。
public interface Serializable{ //do something; }Q16 。 Java中的对象克隆是什么?
Java中的对象克隆是创建对象的精确副本的过程。从根本上讲,这意味着可以创建状态与原始对象相似的对象。为此,Java提供了方法clone () 来利用此功能。此方法创建当前对象类的新实例,然后使用与相应字段完全相同的内容初始化其所有字段。要对象clone(),必须实现标记接口java.lang.Cloneable以避免任何运行时异常。您必须注意的一件事是Object clone()是一种受保护的方法,因此您需要重写它。
Q17。Java中的构造函数是什么?