核心内容摘要
探索未知的激情:成人游戏18秘,开启你的感官盛宴
Java编程基础与面向对象核心概念
Java编程基础
Java语言特性与运行机制Java是跨平台、面向对象、强类型的高级编程语言核心特性包括• 一次编译多处运行源码经javac编译为字节码.class文件由不同平台的Java虚拟机JVM解释执行实现跨平台兼容性。
• 自动内存管理通过垃圾回收GC机制自动回收无用对象内存无需手动释放降低内存泄漏风险。
• 强类型规范变量必须声明类型编译期检查类型匹配提升代码稳定性。
• 面向对象核心以“对象”为核心组织代码支持封装、继承、多态三大核心特性。
运行流程编写.java源码 → 编译生成.class字节码 → JVM加载字节码 → 解释/即时编译JIT执行。
基础语法核心1数据类型Java数据类型分为基本数据类型和引用数据类型是变量存储的基础• 基本数据类型8种存储具体值存于栈内存数值型byte1字节、short2字节、int4字节默认整数、long8字节后缀L浮点型float4字节后缀F、double8字节默认浮点数字符型char2字节存储Unicode字符单引号 布尔型boolean1位仅true/false。
• 引用数据类型存储对象地址存于堆内存类、接口、数组、枚举等默认值为null。
2变量与常量• 变量程序运行中可修改的存储单元声明格式数据类型 变量名 初始值;需遵循“先声明后使用、先赋值后访问”。
• 常量运行中不可修改的量用final修饰声明格式final 数据类型 常量名 值;常量名建议全大写如final int MAX_NUM 100;。
3运算符Java支持多种运算符按功能分类• 算术运算符、-、*、/、%取余、自增、--自减• 关系运算符等于、!不等于、、、、结果为boolean• 逻辑运算符短路与、||短路或、!非用于布尔逻辑判断• 赋值运算符、、-、*、/等简化赋值操作• 位运算符、|、^、~、、、针对二进制位操作。
4流程控制流程控制决定代码执行顺序核心分为三类• 顺序结构代码按书写顺序从上到下依次执行是默认执行方式。
• 分支结构根据条件选择执行路径包括if-else单分支、双分支、多分支条件判断switch-case匹配固定值分支支持byte、short、int、char、String、枚举类型需搭配break避免穿透。
• 循环结构重复执行代码块包括for循环适合已知循环次数如for(int i0; i10; i){}while循环先判断条件再执行适合未知循环次数do-while循环先执行一次再判断条件至少执行一次循环控制break跳出当前循环、continue跳过本次循环进入下一次。
5数组数组是相同类型数据的有序集合属于引用数据类型特点长度固定、下标从0开始、内存连续存储。
• 声明与初始化静态初始化int[] arr {1,2,3};直接赋值动态初始化int[] arr new int[5];指定长度默认值为0。
• 常用操作通过下标访问元素arr[0]、遍历数组for/增强for循环、获取长度arr.length。
方法函数基础方法是完成特定功能的代码块实现代码复用是Java程序的基本执行单元。
1方法定义格式修饰符 返回值类型 方法名(参数类型 参数名1, 参数类型 参数名
..) {// 方法体具体功能代码return 返回值; // 无返回值时用void省略return}2核心概念• 修饰符常用public公共访问、private私有访问、static静态方法属于类• 返回值类型方法执行后返回的数据类型无返回值用void• 参数方法调用时传入的数据分为形参定义时的参数、实参调用时的具体值• 方法重载同一类中方法名相同、参数列表个数/类型/顺序不同与返回值无关如int add(int a,int b)和double add(double a,double b)。
3方法调用• 静态方法调用类名.方法名(实参)如Arrays.sort(arr)• 非静态方法调用需先创建对象对象名.方法名(实参)。
面向对象OOP核心概念面向对象是Java的核心编程思想以“对象”为核心将数据与操作数据的方法封装为整体模拟现实世界的事物与关系核心包括四大特性封装、继承、多态、抽象。
类与对象面向对象的基础1类Class类是对象的模板/抽象描述定义对象的属性特征和行为功能是Java代码的基本组织单元。
• 类的结构public class 类名 {//
属性成员变量描述对象特征数据类型 属性名;//
构造方法创建对象时初始化属性public 类名(参数列表) {}//
成员方法描述对象行为修饰符 返回值类型 方法名(参数列表) {}}• 示例定义Student类描述学生的属性姓名、年龄和行为学习。
2对象Object对象是类的实例是类的具体体现通过new关键字创建拥有类定义的属性和行为。
• 对象创建与使用//
创建对象类名 对象名 new 类名(实参);Student stu new Student(张三,
;//
访问属性对象名.属性名需权限修饰符支持stu.name;//
调用方法对象名.方法名(实参)stu.study();• 内存机制对象通过new在堆内存分配空间栈内存存储对象的引用地址多个引用可指向同一对象。
封装Encapsulation封装是将对象的属性和方法隐藏仅对外暴露必要访问接口的特性核心目的是保护数据安全、简化使用、降低耦合。
1封装实现步骤• 私有化属性用private修饰成员变量禁止外部直接访问• 提供公共访问方法通过public修饰的getXxx()获取属性和setXxx()设置属性方法在方法中添加数据校验逻辑• 封装方法将复杂功能封装为方法外部仅需调用方法无需关注内部实现。
2示例public class Student {// 私有化属性private String name;private int age;// 构造方法初始化public Student(String name, int age) {this.name name;this.age age;}// 公共get/set方法添加数据校验public String getName() {return name;}public void setAge(int age) {if(age 0 age
{ // 年龄合法性校验this.age age;} else {System.out.println(年龄输入不合法);}}}3封装优势• 数据安全避免外部随意修改属性通过方法控制数据合法性• 代码复用将通用功能封装为方法多处调用• 降低耦合外部无需关注内部实现仅通过接口交互便于维护。
继承Inheritance继承是子类复用父类属性和方法并可扩展新功能的特性实现代码复用与层级化设计体现“is-a”关系如“狗是动物”。
1继承基础语法• 关键字extends格式子类 extends 父类• 规则Java仅支持单继承一个子类只能继承一个父类支持多层继承子类→父类→祖父类Object类是所有类的根父类。
2核心概念• 父类超类/基类被继承的类包含通用属性和方法• 子类派生类继承父类的类可复用父类非私有成员新增自身属性和方法• 方法重写Override子类重新定义父类的同名、同参数列表方法覆盖父类实现需满足方法名、参数列表、返回值类型子类可返回父类返回值的子类一致访问权限不低于父类用Override注解标识。
3super关键字• 作用子类中访问父类成员解决子类与父类成员重名问题• 用法super.属性名访问父类属性、super.方法名()调用父类方法、super(参数)调用父类构造方法必须放在子类构造方法第一行。
4示例// 父类Animalpublic class Animal {protected String name; // protected子类可访问public void eat() {System.out.println(name 在进食);}}// 子类Dog继承Animalpublic class Dog extends Animal {// 新增子类属性private String breed;// 方法重写Overridepublic void eat() {System.out.println(name breed 在吃狗粮);}// 子类新增方法public void bark() {System.out.println(name 在汪汪叫);}}5继承优势• 代码复用子类直接复用父类属性和方法减少重复代码• 层级扩展通过多层继承实现功能分层便于系统设计与维护。
多态Polymorphism多态是同一行为不同对象表现出不同形态的特性是面向对象的核心优势基于继承和方法重写实现核心体现为“父类引用指向子类对象”。
1多态实现条件• 存在继承/实现关系• 子类重写父类方法• 父类引用指向子类对象向上转型。
2向上转型与向下转型• 向上转型自动转型父类引用指向子类对象格式父类类型 引用名 new 子类类型();可调用父类所有成员、子类重写的方法无法调用子类特有成员• 向下转型强制转型将父类引用转回子类类型格式子类类型 引用名 (子类类型) 父类引用;需先通过instanceof判断类型避免ClassCastException异常。
3多态示例// 父类引用指向子类对象向上转型Animal animal new Dog();// 调用子类重写的方法表现多态animal.eat(); // 执行Dog类的eat方法// 向下转型调用子类特有方法if(animal instanceof Dog) {Dog dog (Dog) animal;dog.bark();}4多态优势• 代码灵活统一父类接口适配不同子类实现便于扩展• 降低耦合无需关注具体子类类型通过父类引用交互提升代码可维护性。
抽象Abstraction抽象是提取事物共性特征忽略非核心细节形成抽象模型的特性通过抽象类和接口实现是封装、继承、多态的基础。
1抽象类• 关键字abstract格式abstract class 类名{}• 特点可包含抽象方法无方法体abstract 返回值类型 方法名();和普通方法、属性不能直接实例化需子类继承并实现所有抽象方法• 作用定义通用模板强制子类实现特定功能。
2接口Interface• 关键字interface格式interface 接口名{}• 特点仅包含抽象方法JDK8支持默认方法、静态方法、常量public static final修饰无构造方法不能实例化需类通过implements实现所有抽象方法支持多实现一个类可实现多个接口• 作用定义行为规范实现“行为抽象”解耦功能与实现。
3抽象类与接口区别特性 抽象类 接口继承/实现 子类extends继承 类implements实现成员类型 可含属性、普通方法、抽象方法 仅含常量、抽象方法JDK8支持默认/静态方法构造方法 有构造方法 无构造方法继承限制 单继承 多实现核心作用 模板抽象属性行为 行为规范仅行为