2026/5/24 8:51:16
网站建设
项目流程
橘子建站是什么,西安天气最新公布,做很多网站,企业解决方案顾问系列文章目录 提示#xff1a;.......................
文章目录
系列文章目录前言一、类和对象 面向对象基本介绍类的基本使用属性构造方法和析构方法对象 二、总结 前言
提示#xff1a;这里可以添加本文要记录的大概内容#xff1a;
Java面向对象编程的进阶知识 一、…系列文章目录提示.......................文章目录系列文章目录前言一、类和对象面向对象基本介绍类的基本使用属性构造方法和析构方法对象二、总结前言提示这里可以添加本文要记录的大概内容Java面向对象编程的进阶知识一、类和对象面向对象基本介绍在面向对象的世界里世界万物即对象。对象分为两种一是静态对象即属性二是动态对象(方法、行为)比如一只鸟静态对象就是指鸟的翅膀、重量、羽毛颜色等等动态对象就是指鸟的飞行、走路、觅食、叫声等等类是一类事物的一个统称对象是类实例化之后的一类而整个类就是所有对象的统称、人类可以实例化出一个男人、女人鸟类可以实例化出一个大雁、燕子、信鸽图形类可以实例化出三角形、平行四边形、五角形。一个类抽象出来一个实体然后通过这个实体来解决实际的问题。封装就是把对象的静态属性和动态属性进行一个打包就是封装继承:比如要解决一个鸟南飞的问题这里的鸟有各种各样的鸟所以先定义一个鸟都共有的静态和动态属性然后在定义其他的鸟继承这个基本的鸟这样可以代码的大量复用极大的减少的时间。多态父类作用到子类上的一个特征Java 实现多态有 3 个必要条件继承、重写和向上转型这个对于多态的理解讲的特别好抽象类要绘制一个图形却没有说要绘制一个怎么样的图形但也必须得写一个方法所以这个时候就需要一个抽象类来解决这个问题。定义一个抽象类然后写一个抽象方法等明确知道绘制什么图形的时候直接继承这个抽象方法然后在子类中进行去实现即可接口从多个类中抽象出来的模板类的基本使用属性成员变量是类中定义的变量需要用权限修饰符进行修饰一般有效范围在整个类中有效。private int a;成员方法在类中定义的方法 public getA(){return this.a;}上面两个统称为类成员局部变量在成员方法内定义的变量属于局部变量形参也是局部变量一般局部变量在方法执行完毕后会销毁局部变量可以和成员变量重名一般用this指向。一般有效范围在方法体内有效。由static修饰的变量、常量和方法称为静态变量、常量、方法。静态变量、静态方法由static修饰的变量或方法一般用于共享数据。例如PI在多个类中都用的到可以定义为一个静态的常量在不同的类中调用即可而且内存只占用一处。引用类型.静态成员名注意1、不能将方法体内的变量定义为静态变量2、…static{ //pass }…当这段代码被执行先执行static中的代码且只执行一次。3、在静态方法中不能使用this关键字不能调用非静态方法常量不能变化改变的量主方法public static void main(String[] args){//方法体}程序的入口并且一个字母都不能错或者少写注意1、主方法也是静态的所以直接在主方法中调用其他方法则该方法必须也是静态的2、主方法没有返回值3、主方法的形参为数组。其中args[0]~args[n]分别代表程序的第一个到第n个参数可以使用args.length获取参数个数。权限修饰符private只能在本类中可以使用protected可以在本类和子类还有同一个包下可以使用public全部公开可以使用(本类、子类、同包、其他包)this关键字1、区分类名 2、返回对象如果多个变量名相同可以用this来准确指向public Book abc(){ return this; } 直接返回Book对象引用构造方法和析构方法构造方法每次类实例化一个对象就会调用一次构造函数可以简单的把构造函数理解为初始化对象特点1、没有返回值2、方法名和类名相同3、调用时要注意类的方法是有参的还是无参的注意1、如果没定义构造方法类会默认生成一个无参无代码的构造方法2、如果只定义了一个有参的构造方法那实例化的时候也必须加上参数3、如果定义了无参、一个参、两个参的构造方法那实例化的时候写几个参数就会调用哪个构造方法public 类名(//有参调用时也必须有参 //无参调用时也不可加参数) { //代码 }析构方法当对象结束其生命周期时例如对象所在的函数已调用完毕系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作protected void finalize( ) { // finalization code here }对象类只是去定义了一个模型具体的去解决问题还是需要进行实例化对象。对象对象Test test new Test(“a”);test.test1 //访问对象中的变量test.test2() //访问对象中的方法特点1、每个都想都是相互独立的对象名可以理解为酒店房间号在内存中通过对象名具体的去取值存值。2、每个对象都有自己的生命周期在结束的时候自动被当作垃圾值被清理且不能在被使用3、因为实例化的对象之间是独立的所有在不同的对象之间去进行赋值对象之间完全不会相互影响对象的引用Book book new Book();book是Book的一个引用通过book可以操作Book类的变量和方法。可以简单的把book理解为一个多指向的快捷方式。而book也可以说是Book的一个实例化对象。对象的比较一、 指的是两个对象所引用的地址是否相等二、equal() 是String类的一个方法一般指的是两个方法所指的内容是否相等对象的销毁每个对象都有自己的生命周期在生命周期结束的时候会自动被Java虚拟机视为垃圾被销毁一般有两种情况被视作垃圾1、超出引用范围2、将对象设为null回收的三种方式一般Java虚拟机销毁的都是由new修饰的对象才进行回收finalise()通过protected()来进行修饰防止外部去进行恶意修改System.gc() 强制回收类似于拨打120来进行回收二、总结学习时间记录2022.10.24 - 类和对象