赞
踩
Java是一种面向对象的编程语言,它支持面向对象的特性,如封装、继承、多态、重写和重载,以及枚举。通过理解和熟练掌握这些概念和语法,可以编写出更灵活、可扩展的Java程序。
面向对象编程(OOP)是一种编程范式,以对象作为程序的基本单元,将数据和操作封装在一起。Java是一种面向对象的语言,核心思想是通过创建对象来解决问题。
封装是面向对象编程中的一个重要概念,将数据和操作封装在一个类中,通过访问修饰符控制对数据的访问。封装可以隐藏数据的实现细节,提供公共的接口来访问和操作数据。
代码:
class Person { private String name; private int age; public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public int getAge() { return age; } } public class EncapsulationExample { public static void main(String[] args) { Person person = new Person(); person.setName("John"); person.setAge(25); System.out.println("Name: " + person.getName()); System.out.println("Age: " + person.getAge()); } }
Person类封装了私有的name
和age
属性,并提供了公共的setter和getter方法来访问和设置属性的值。
继承是面向对象编程中的一种机制,它允许一个类继承另一个类的属性和方法。子类继承了父类的特性,并可以在此基础上添加新的属性和方法。
代码:
class Animal { protected String name; public void setName(String name) { this.name = name; } public void eat() { System.out.println("Animal is eating"); } } class Dog extends Animal { public void bark() { System.out.println("Dog is barking"); } } public class InheritanceExample { public static void main(String[] args) { Dog dog = new Dog(); dog.setName("Buddy"); dog.eat(); // 输出:Animal is eating dog.bark(); // 输出:Dog is barking } }
Animal类是父类,Dog类是其子类。子类继承了父类的属性和方法,并可以在此基础上添加新的功能。
多态是面向对象编程的一个重要特性,它允许同一类型的对象在不同的情况下表现出不同的行为。多态通过继承和方法重写实现。
代码:
class Animal { public void makeSound() { System.out.println("Animal makes sound"); } } class Dog extends Animal { @Override public void makeSound() { System.out.println("Dog barks"); } } class Cat extends Animal { @Override public void makeSound() { System.out.println("Cat meows"); } } public class PolymorphismExample { public static void main(String[] args) { Animal animal1 = new Dog(); Animal animal2 = new Cat(); animal1.makeSound(); // 输出:Dog barks animal2.makeSound(); // 输出:Cat meows } }
Animal类是父类,Dog和Cat类是其子类。通过将子类对象赋值给父类引用,可以实现多态性。在调用makeSound()
方法时,根据实际对象的类型,会调用相应子类的方法。
重写是指在子类中重新定义父类的方法,使其具有不同的实现。重写的方法必须具有相同的名称、参数列表和返回类型。重载是指在一个类中定义多个同名方法,但参数列表不同。
代码:
class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } } public class OverridingOverloadingExample { public static void main(String[] args) { Calculator calculator = new Calculator(); int result1 = calculator.add(5, 3); // 输出:8 double result2 = calculator.add(2.5, 3.5); // 输出:6.0 } }
Calculator类中定义了两个同名的add()
方法,一个是接受两个整数参数的方法,另一个是接受两个浮点数参数的方法。根据调用时传入的参数类型和个数,会自动匹配调用对应的重载方法。
枚举是一种特殊的数据类型,它限制变量只能取特定的预定义值。在Java中,使用enum
关键字定义枚举类型。
代码:
enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } public class EnumExample { public static void main(String[] args) { Day day = Day.MONDAY; switch (day) { case MONDAY: System.out.println("Today is Monday"); break; case TUESDAY: System.out.println("Today is Tuesday"); break; // ... } } }
定义一个Day
枚举类型,包含一周的每一天。通过使用枚举类型的变量,可以方便地表示和操作特定的值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。