首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
java面试题基础
冒泡排序算法
插入排序算法
归并排序算法
二叉树排序算法
基数排序
选择排序
堆排序
快排
TCP-三次握手
HTTP协议
WebSocket
Mysql架构
Innodb与Myisam数据库引擎
事务隔离级别
面向对象(OOP)
异常
泛型
Object
StringBuilder
代理
注解
java面试题基础二
HashMap
ConcurrentHashMap
BlockingQueue
线程
Volatile
AtomicInteger
Synchronized
Java虚拟机架构
类加载器
内存模型
垃圾回收
Mybatis面试题
IOC
高并发系统设计
分布式缓存
分布式锁
分布式事务
消息队列
当前位置:
首页>>
技术小册>>
Java面试指南
小册名称:Java面试指南
Java是一种面向对象的编程语言,这意味着Java程序主要是由对象组成的。面向对象编程(OOP)中的核心概念包括类(class)、对象(object)、继承(inheritance)、封装(encapsulation)和多态(polymorphism)。以下是每个概念的简要描述以及示例代码: **类(class):** 类是Java中的基本编程块,是创建对象的模板。类定义了对象的属性和行为。下面是一个简单的类定义: ```java public class Person { private String name; //私有成员变量 private int age; public Person(String name, int age) { //构造函数 this.name = name; this.age = age; } public void display() { //方法 System.out.println("Name: " + name + " Age: " + age); } } ``` **对象(object):** 对象是类的实例,它有自己的状态和行为。下面是创建Person对象的示例代码: ```java Person person1 = new Person("John", 20); //创建对象 person1.display(); //调用对象的方法 ``` **继承(inheritance):** 继承是指一个类可以从另一个类继承属性和方法。这样可以减少代码重复并提高代码复用性。下面是一个继承的示例: ```java public class Student extends Person { //继承自Person类 private int grade; public Student(String name, int age, int grade) { //构造函数 super(name, age); //调用父类构造函数 this.grade = grade; } public void display() { //重写父类方法 super.display(); //调用父类方法 System.out.println("Grade: " + grade); } } ``` **封装(encapsulation):** 封装是指将数据和代码包装在一个单元中,以便于控制数据的访问。这样可以防止数据被意外地修改或破坏。下面是一个封装的示例: ```java public class BankAccount { private double balance; public void deposit(double amount) { //存款方法 balance += amount; } public void withdraw(double amount) { //取款方法 if (amount <= balance) { balance -= amount; } } public double getBalance() { //获取余额方法 return balance; } } ``` **多态** Java中的多态是指同一个方法名可以被不同的对象使用,并且根据调用对象的不同,可以产生不同的行为。这种特性可以使程序更加灵活、易于维护和扩展。 在Java中,多态是通过继承和接口实现的。子类可以重写父类的方法,从而实现多态。同时,Java中的接口可以定义方法,实现接口的类必须实现这些方法,从而实现多态。以下是示例代码来说明多态的使用方法。 ```java // Animal.java public class Animal { public void makeSound() { System.out.println("The animal makes a sound"); } } // Cat.java public class Cat extends Animal { public void makeSound() { System.out.println("Meow"); } } // Dog.java public class Dog extends Animal { public void makeSound() { System.out.println("Woof"); } } // Main.java public class Main { public static void main(String[] args) { Animal myPet; myPet = new Cat(); myPet.makeSound(); // Meow myPet = new Dog(); myPet.makeSound(); // Woof } } ``` 在这个示例代码中,Animal是一个基类,Cat和Dog是Animal的子类。Cat和Dog都重写了Animal的makeSound方法。在Main中,我们创建了一个Animal类型的对象myPet,首先让它指向一个Cat对象,然后调用makeSound方法,输出"Meow"。然后让它指向一个Dog对象,再次调用makeSound方法,输出"Woof"。因为myPet变量的类型是Animal,但是指向的对象是Cat或Dog,所以程序根据对象的类型来调用相应的makeSound方法,实现了多态。
上一篇:
事务隔离级别
下一篇:
异常
该分类下的相关小册推荐:
深入拆解 Java 虚拟机
Java语言基础9-常用API和常见算法
SpringBoot合辑-高级篇
经典设计模式Java版
Java高并发秒杀入门与实战
Java语言基础14-枚举和注解
Java性能调优实战
Java语言基础1-基础知识
Java语言基础15-单元测试和日志技术
Mybatis合辑1-Mybatis基础入门
SpringBoot零基础到实战
JAVA 函数式编程入门与实践