问题1:解释Java中的封装是什么,并给出一个简单的代码示例。
答案:封装是面向对象编程的一个核心概念,它指的是将数据(属性)和代码(方法)绑定到一起,形成一个独立的单元或对象。在Java中,通过使用类来实现封装。以下是一个简单的封装示例:
public class Student { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
问题2:什么是继承?请举例说明。
答案:继承是面向对象编程中的一个机制,允许一个类(子类)继承另一个类(父类)的属性和方法。继承可以提高代码的复用性和可维护性。例如:
public class Animal { public void eat() { System.out.println("This animal eats food."); } } public class Dog extends Animal { public void bark() { System.out.println("The dog barks."); } }
在这个例子中,Dog类继承了Animal类,因此Dog类的对象可以使用eat()方法。
问题3:Java中的多态是什么?请通过代码示例说明。
答案:多态是指允许不同类的对象对同一消息做出响应的能力。在Java中,多态通常通过重写(Override)和接口(Interface)实现。以下是一个多态的例子:
class Shape { void draw() { System.out.println("Drawing a shape"); } } class Circle extends Shape { void draw() { System.out.println("Drawing a circle"); } } public class TestPolymorphism { public static void main(String[] args) { Shape s; s = new Shape(); s.draw(); s = new Circle(); s.draw(); } }
在这个例子中,Shape类和Circle类都有draw()方法。在main方法中,Shape类的引用变量s可以指向Shape对象也可以指向Circle对象,调用draw()方法时,会根据对象的实际类型来执行相应的方法。