当前位置: 首页 > news >正文

java基础-第4章-面向对象(二)

一、static关键字

静态(static)可以修饰属性和方法。
称为静态属性(类属性)、静态方法(类方法)。
静态成员是全类所有对象共享的成员。
在全类中只有一份,不因创建多个对象而产生多份。
不必创建对象,可直接通过类名访问。
例子:

        Person p1 = new Person();p1.name = "小明";p1.age = 23;//p1.city = "广州";Person p2 = new Person();p2.name = "晓东";p2.age = 28;//p2.city = "广州";//.......p1.print();p2.print();//        Person.city = "深圳";//静态属性的访问:类名.属性名
//
//        System.out.println("城市:"+Person.city);p1.city = "苏州";p1.printCity();p1.print();p2.print();//调用静态的方法:类名.方法名Person.printCity();
/*** 静态变量,属于类,和对象无关,*/
public class Person {String name;int age;static String city;//静态的,属于类,对象也可以访问,但是所有的对象共享着一份数据;static final double PI = 3.14;//表示静态的常量,运行的过程数据不能改变,同时属于类,可以用类名直接调用public void eat(){System.out.println("吃东西.....");}public static void test(){System.out.println("test()........");}/*** 静态的方法*/public static void printCity(){test();//System.out.println("name:"+name);
//        eat();System.out.println("城市:"+Person.city);}public void print(){printCity();eat();System.out.println("name:"+this.name+",age:"+age+",city:"+city);}
}

静态属性

形成静态属性,不再属于对象。非静态属性(实例属性)属于对象,随着对象的创建而产生,每个对象的属性值都是独立的。
静态属性是属于类的,只有一份(节省内存)。应该由类来访问,但是对象也可以访问,所有的对象共享着一份数据。
非静态属性由对象访问:对象.属性–>赋值,取值
静态属性由类访问:类名.静态属性–>赋值,取值
静态属性可以和final搭配使用,形成静态常量

静态方法

形成了静态方法。属于类而不再属于对象了,应该由类来访问,但是对象也可以访问。
普通的方法由对象调用。
静态方法中:只能访问属于类,不能访问属于对象。
A:访问静态属性
B:访问静态方法
C:不能直接访问非静态属性
D:不能直接访问非静态方法
非静态方法中:属于类,属于对象都可以访问
A:访问静态属性
B:访问静态方法
C:访问非静态属性
D:访问非静态方法

public void eat(){System.out.println(this.name+",吃东西啦。。。"); //非静态方法,可以访问非静态属性System.out.println("城市:"+Person.city); //非静态方法,可以访问静态属性this.showInfo(); // 非静态方法,可以调用非静态方法。Person.printCity(); //非静态方法,可以调用静态方法。
}public static void test1(){ //属于类的System.out.println(Person.city); //静态方法中,可以访问静态属性。Person.printCity();//静态方法中,可以访问静态方法。
//        System.out.println(name); //静态方法中,不能访问非静态的属性
//        this.showInfo(); //静态方法中,不能调用非静态的方法。}

静态代码块

代码块,就是一块代码。使用{}包裹起来的。

String name;int age;static{System.out.println("这是静态代码块。。。。");}/*构造代码块:需要调用构造函数才会执行*/{System.out.println("这是构造代码块");}public Demo2(){System.out.println("这是无参的构造函数");}public Demo2(String name,int age){}public static void main(String[] args) {{int k = 10;System.out.println(k);}Demo2 demo2 = new Demo2();Demo2 demo2_2=  new Demo2();//System.out.println(k);//
//        int i = 100;
//        if(i>100){
//            System.out.println(i);
//
//            int j = 200;//局部变量,作用域只在代码块里面
//            System.out.println(j);
//        }//System.out.println(j);}

普通代码块:{}包裹起来一段代码。注意作用域。
构造代码块:写在类里,方法外的代码块,就叫构造代码块。当创建对象的时候,随着构造函数的调用而执行。而且优先于构造函数执行。构造函数被多次调用,那么构造代码块也被多次调用。
静态代码块:用static关键字修饰的代码块。在类第一次使用的时候执行,优先于main的执行。只执行一次。例如连接数据库的驱动等
同步代码块:多线程。
优先级别:静态代码块 > 构造代码块 >构造方法

二、继承

概念

生活中我们经常听到一些名词,譬如富二代,官二代,红二代,穷二代,农二代等等,它代表中人与人之间的一种关系。那么程序当中怎么表示这种关系呢?
概念:描述两个类的关系的。在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类(派生类,SubClass),现有类被称作父类(超类,SuperClass),子类会自动拥有父类所有非私有的属性和方法
意义:
A:避免重复的代码。(从子类的角度)
B:扩展类的功能。(从父类的角度)
继承性:子类,父类。存在继承关系。
子类对象,可以直接访问父类的非私有的属性和方法。(避免重复代码)
子类也可以新增自己的属性和方法。(扩展类的功能)
子类可以重新实现父类已有的方法。(扩展类的功能)

语法

父类:A类
子类:B类
语法结构:

class 父类{}class 子类 extends 父类{}

extends关键字:表示两个类是继承关系。

public class Person {String name;int age;public void eat(){System.out.println("吃东西。。。。。");}public void sleep(){System.out.println("睡觉");}
}* extends关键字:表示两个类是继承关系。**/
public class Student extends Person{String school;//@Override可以不加,但是如果加上,子类的重写的方法一定要和父类的那个方法名相同public void eat(){System.out.println("学生吃东西。。。。。");}public void study(){System.out.println("学习了。。。。。");}}//父类的创建Person p1 = new Person();p1.name = "乔布斯";p1.age = 55;p1.eat();p1.sleep();//p1.study();父类无法访问子类新增的方法和属性Student stu = new Student();stu.name = "小学生";stu.age = 34;stu.eat();stu.sleep();stu.school = "图灵";stu.study();//子类肯定可以访问新增的方法

继承中的构造方法

/*** 父类,动物类*/
public class Animal {String name;int age;public Animal(){System.out.println("父类的无参的构造方法。。");}//有参的构造方法public Animal(String name,int age){System.out.println("父类的有参的构造方法。。");this.name = name;this.age = age;}public void eat(){System.out.println("吃东西。。。。。");}}public class Cat extends Animal {String color;public Cat(){}public Cat(String name,int age,String color){//System.out.println("子类的有参构造");//super();//默认调用,隐含调用父类的无参的构造方法super(name,age);this();//争宠。。this.color = color;System.out.println("子类的无参的构造方法。。");}public void catchMouse(){System.out.println("抓老鼠......");}}

super关键字

子类对象的创建过程:
子类的构造方法中,默认先调用父类的无参构造方法。如果没有显示的调用,那么隐含着super()。
super关键字
可以访问父类的属性
可以访问父类的方法
指代父类的构造方法, 如果有多个,靠参数来区分。要在第一行。
this关键字
作为本类的对象,
访问本类的属性。如果在继承中,本类没有这个属性,那么再找父类中。
访问本类的方法
可以指代本类的构造方法:this()。要在第一行。

class A{int i=100;int j = 200;public void test(){System.out.println("i---->"+this.i);System.out.println("j---->"+this.j);System.out.println("------------test1-------------");}public void fun(){System.out.println("父类的fun()方法。。。");}}class B extends A{int i = 300;public void test2(){System.out.println("i------>"+super.i);//子类有的,就访问子类System.out.println("j------>"+j);//如果子类没有相应的属性,那么会默认去找父类的属性System.out.println("------------test2-----------------");this.fun();}//    public void fun(){
//        System.out.println("子类重写了父类的fun()方法。。。");
//
//    }}

this和super的对比:

this,super关键字,不能出现在static方法中。

方法重写[重点]

重写:
关键字:override
概念:继承关系中,子类将父类已有的方法重新实现,叫做方法的重写。

public class Animal {String name;int age;public void eat(){System.out.println("动物吃东西。。。。");}
}public class Fish extends Animal {String color;@Overridepublic void eat() {System.out.println("鱼游海底。。。。吃东西。。。");}
}Animal a = new Animal();
a.eat();//父类对象,访问父类方法Fish fish = new Fish();
fish.eat();//子类对象,访问子类重写后的方法。。。

规则:
A:继承关系中。
B:子类重写的方法的声明,必须和父类一致。
方法的返回值(注意点:子类重写的方法的返回类型可以是父类方法返回类型的子类),参数列表,方法名。
C:子类重写方法的访问权限,不能比父类更加严格。
D:重写的方法,不能抛出比父类更大的异常。
重载:overload
概念:一个方法,因为参数不同,执行的具体的方法也不同。
规则:
A:同一个类中。
B:方法名必须一致。
C:参数列表必须不同:顺序,个数,类型。

三、访问修饰符

访问权限:对类,方法,变量,常量等访问位置的限定。通过访问权限修饰符来实现。
在Java中,可以在类、类的属性以及类的方法前面加上一个修饰符(modifier),来对类进行一些访问上的控制。
private:私有的,限制在本类中才能访问。
default:什么都不写,就是default。同类,同包。
protected:受保护的,同类,同包,不同包(限于子类访问)
public:公共的,同类,同包,不同包。
示例:

public class Test {private int age;//private 只能在本类中访问int i;//default:什么都不写,就是default。同类,同包。protected int j;//protected:受保护的,同类,同包,不同包(限于子类访问)public void print(){//public:公共的,同类,同包,不同包。System.out.println("age:"+age);}}

示例:

/*** 同一个包,不同的类*/
public class Demo6 {public static void main(String[] args) {Test test = new Test();//test.age //无法访问私有属性test.i = 100;//default修饰的可以在同一个包中访问System.out.println("i的值:"+test.i);test.j = 200;//protected修饰的,可以在同一个包中访问System.out.println("j的值:"+test.j);test.print();//同一个包中,可以访问}
}
/*** 同一个包中,子类*/
public class SubTest extends Test {public void test(){//System.out.println(""+this.age);无法访问私有属性System.out.println(""+this.j);//子类可以访问}
}
package com.tuling.access.sub;import com.qf.access.Test;/*** 不同的包,子类*/
public class SubTest2 extends Test {public void subTest(){System.out.println(""+this.j);//protected修饰的属性,在不同的包中,子类也可以访问}
}
package com.tuling.access.sub;import com.tuling.access.Test;/*** 不同的包,不同的类*/
public class Demo {public static void main(String[] args) {Test test =new Test();//test.i = 100;//在不同的包中,default修饰的属性无法访问//test.j = 200;//在不同的包中,protected修饰的属性无法访问,test.print();//不同的包中,可以访问}
}

对类的修饰:只能是default和public。protected不能修饰一个类。

最终结论:
private<default<protected<public

四、final关键字

词意:终结的,最终的,最后的。
final可修饰的内容:
类(最终类)
方法(最终方法)
变量(最终变量)

final修饰类:此类不能被继承。String、Math、System均为final修饰的类,不能被继承。
final修饰方法:此方法不能被覆盖。意为最终方法,不支持子类以覆盖的形式修改。

final修饰变量:此变量值不能被改变(常量)。所有final修饰的变量只能赋值一次,值不允许改变。

final修饰基本类型:值不可变
final修饰引用类型:地址不可变
静态常量不再提供默认值,必须手动赋予初始值。
示例:

package com.tuling.part4;//public final class Animal {//final修饰的类,是不能被继承的
public class Animal {//    public final void eat(){//修饰的方法,不能被重写
//        System.out.println("动物吃东西。。。。。。");
//    }public  void eat(){System.out.println("动物吃东西。。。。。。");}public int test1(){System.out.println("test1........");return 0;}
}

子类:

package com.tuling.part5;/***** 重写*/
public class Fish extends Animal {@Overridepublic void eat() {System.out.println("鱼吃什么。。。。。");}//@Override//加上这个标识,一定是重写:返回值要一样,方法名要一样,参数列表要一样public int  test1(int a){System.out.println("wowowo");return 0;}}

相关文章:

java基础-第4章-面向对象(二)

一、static关键字 静态&#xff08;static&#xff09;可以修饰属性和方法。 称为静态属性&#xff08;类属性&#xff09;、静态方法&#xff08;类方法&#xff09;。 静态成员是全类所有对象共享的成员。 在全类中只有一份&#xff0c;不因创建多个对象而产生多份。 不必创…...

flex加 grid 布局笔记

<style> .flex-container { display: flex; height: 100%; /* 设置容器的高度 */ } .wide { display: flex; padding: 10px; border: 1px solid lightgray; text-align: center; justify-content: …...

最高评级!华为云CodeArts Board获信通院软件研发效能度量平台先进级认证

9月26日&#xff0c;华为云CodeArts Board获得了中国信通院《云上软件研发效能度量分级模型》的先进级最高级评估&#xff0c;达到了软件研发效能度量平台评估的通用效能度量能力、组织效能模型、项目效能模型、资源效能模型、个人效能模型、研发效能评价模型、项目管理域、开发…...

图像上传功能实现

一、后端 文件存放在images.path路径下 package com.like.common;import jakarta.servlet.ServletOutputStream; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annot…...

03_Node.js模块化开发

1 Node.js的基本使用 1.1 NPM nodejs安装完成后&#xff0c;会跟随着自动安装另外一个工具npm。 NPM的全称是Node Package Manager&#xff0c;是一个NodeJS包管理和分发工具&#xff0c;已经成为了非官方的发布Node模块&#xff08;包&#xff09;的标准。 2020年3月17日&…...

Nginx支持SNI证书,已经ssl_server_name的使用

整理了一些网上的资料&#xff0c;这里记录一下&#xff0c;供大家参考 什么是SNI&#xff1f; 传统的应用场景中&#xff0c;一台服务器对应一个IP地址&#xff0c;一个域名&#xff0c;使用一张包含了域名信息的证书。随着云计算技术的普及&#xff0c;在云中的虚拟机有了一…...

Hive【Hive(六)窗口函数】

窗口函数&#xff08;window functions&#xff09; 概述 定义 窗口函数能够为每行数据划分 一个窗口&#xff0c;然后对窗口范围内的数据进行计算&#xff0c;最后将计算结果返回给该行数据。 语法 窗口函数的语法主要包括 窗口 和 函数 两个部分。其中窗口用于定义计算范围…...

Met no ‘TRANSLATIONS’ entry in project

这里写自定义目录标题 问题描述&#xff1a;解决方法&#xff1a; 问题描述&#xff1a; 多工程项目&#xff0c;执行完update Translation生成了.ts文件&#xff0c;也用翻译工具翻译完了&#xff0c;执行release时&#xff0c;报错“Met no ‘TRANSLATIONS’ entry in proje…...

Leetcode901-股票价格跨度

一、前言 本题基于leetcode901股票价格趋势这道题&#xff0c;说一下通过java解决的一些方法。并且解释一下笔者写这道题之前的想法和一些自己遇到的错误。需要注意的是&#xff0c;该题最多调用 next 方法 10^4 次,一般出现该提示说明需要注意时间复杂度。 二、解决思路 ①…...

“传统文化宣传片+虚拟人动捕设备”前景如何?

在数字化时代的发展下&#xff0c;动捕设备的加入&#xff0c;让传播传统文化的虚拟人更具生动表现&#xff0c;拉近人们与传统文化的距离&#xff0c;通过虚拟人动作捕捉动画宣传片&#xff0c;引起更多人对传统文化的关注与传承。 *图片源于网络 深圳文博会创意短片《嗨ICIF…...

节假日moc服务数据:解决用户99%的IT问题

Hi~ 伙伴们&#xff0c;这个国庆假期过得怎么样? 节后第一个工作日如期而至&#xff0c; 忙碌是消除倦怠的最佳良药。 回顾8天假日moc工程师的一组服务数据&#xff0c; 处理事件184起&#xff0c;工单23条。 其中&#xff0c;较为典型案例如下&#xff1a; 1、福建某附属医院…...

WOL唤醒配置(以太网、PHY、MAC)

目录 wol 以太网 MAC PHY RMII 通信配置 总结 wol Wake-on-LAN简称WOL&#xff0c;WOL&#xff08;网络唤醒&#xff09; 是一种标准网络协议&#xff0c;它的功效在于让已经进入休眠状态或关机状态的计算机&#xff0c;透过局域网&#xff08;多半为以太网&#xff…...

MySQL复制,约束条件,查询与安全控制

MySQL之复制 复制表 我有一个表 mysql> show tables; ------------------ | Tables_in_school | ------------------ | student | ------------------mysql> select * from student; -------------------------------------------- | id | name | sec |…...

Java ES 滚动查询

滚动查询&#xff08;Scroll Query&#xff09;是 Elasticsearch 提供的一种机制&#xff0c;用于处理大量数据的查询。它允许你在多个请求之间保持“游标”&#xff0c;以便在后续请求中获取更多的结果。 以下是滚动查询的基本工作原理&#xff1a; 1 初始查询: 客户端发送一…...

机器学习算法基础--KNN算法分类

文章目录 1.KNN算法原理介绍2.KNN分类决策原则3.KNN度量距离介绍3.1.闵可夫斯基距离3.2.曼哈顿距离3.3.欧式距离 4.KNN分类算法实现5.KNN分类算法效果6.参考文章与致谢 1.KNN算法原理介绍 KNN&#xff08;K-Nearest Neighbor&#xff09;工作原理&#xff1a; 在一个存在标签的…...

深入探究 C++ 编程中的资源泄漏问题

目录 1、GDI对象泄漏 1.1、何为GDI资源泄漏&#xff1f; 1.2、使用GDIView工具排查GDI对象泄漏 1.3、有时可能需要结合其他方法去排查 1.4、如何保证没有GDI对象泄漏&#xff1f; 2、进程句柄泄漏 2.1、何为进程句柄泄漏&#xff1f; 2.2、创建线程时的线程句柄泄漏 …...

BLE协议栈1-物理层PHY

从应届生开始做ble开发也差不读四个月的时间了&#xff0c;一直在在做上层的应用&#xff0c;对蓝牙协议栈没有过多的时间去了解&#xff0c;对整体的大方向概念一直是模糊的状态&#xff0c;在开发时也因此遇到了许多问题&#xff0c;趁有空去收集了一下资料来完成了本次专栏&…...

光伏储能直流系统MATLAB仿真(PV光伏阵列+Boost DCDC变换器+负载+双向DCDC变换器+锂离子电池系统)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

C++三大特性——继承(上篇)

文章目录 目录 一、继承的概念及定义 1.1继承的概念 1.2 继承定义 1.2.1定义格式 1.2.2继承关系和访问限定符 1.2.3继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 一、继承的概念及定义 1.1继承的概念 继承(inherita…...

docker系列(9) - docker-compose

文章目录 9. compose编排9.1 介绍9.2 安装9.3 compose常用命令9.4 实战Springboot部署9.4.1 准备组件配置文件9.4.1.1 redis的配置文件9.4.1.2 MySQL的配置文件9.4.1.3 SpringBoot打包文件 9.4.2 准备docker-compose.yml9.4.3 启动服务9.4.4 测试验证 9.5 实战ElasticsearchKib…...

Vue中如何进行日历展示与操作

在Vue中创建交互式日历应用 在Web开发中&#xff0c;创建一个交互式的日历应用是一项常见的任务。Vue.js作为一个流行的JavaScript框架&#xff0c;提供了许多便捷的工具和组件来简化日历的开发。本文将介绍如何使用Vue来创建一个简单但功能强大的日历应用&#xff0c;包括展示…...

SpringBoot 返回图片、Excel、音视频等流数据几种处理方式

方式一:直接针对响应对象(response)实现 @RestController @Slf4j @Api(tags = SwaggerConfig.TAG_IMAGE) @RequestMapping(SwaggerConfig.TAG_IMAGE) public class ImageController {@GetMapping(value = "/getImage")@ApiOperation("获取图片-以ImageIO流形…...

【Vue面试题一】、说说你对 Vue 的理解

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;有使用过vue吗&#xff…...

vue3 axios

npm install axios import axios from axios // 创建axios实例 const request axios.create({baseURL: ,// 所有的请求地址前缀部分(没有后端请求不用写)timeout: 80000, // 请求超时时间(毫秒)withCredentials: true,// 异步请求携带cookie// headers: {// 设置后端需要的传…...

划片机:半导体生产的必备设备

划片机是半导体加工行业中的重要设备&#xff0c;主要用于将晶圆切割成晶片颗粒&#xff0c;为后道工序粘片做好准备。随着国内半导体生产能力的提高&#xff0c;划片机市场的需求也在逐渐增加。 在市场定位上&#xff0c;划片机可以应用于半导体芯片和其他微电子器件的制造过程…...

电路维修——双端队列BFS

达达是来自异世界的魔女&#xff0c;她在漫无目的地四处漂流的时候&#xff0c;遇到了善良的少女翰翰&#xff0c;从而被收留在地球上。 翰翰的家里有一辆飞行车。有一天飞行车的电路板突然出现了故障&#xff0c;导致无法启动。电路板的整体结构是一个 R 行 C 列的网格&#…...

乌班图22.04 kubeadm简单搭建k8s集群

1. 我遇到的问题 任何部署类问题实际上对于萌新来说都不算简单&#xff0c;因为没有经验&#xff0c;这里我简单将部署的步骤和想法给大家讲述一下 2. 简单安装步骤 准备 3台标准安装的乌班图server22.04&#xff08;采用vm虚拟机安装&#xff0c;ip为192.168.50.3&#xff0…...

vue3富文本编辑器的二次封装开发-Tinymce

欢迎点击领取 -《前端面试题进阶指南》&#xff1a;前端登顶之巅-最全面的前端知识点梳理总结 *分享一个使用比较久的&#x1fa9c; 简介 1、安装&#xff1a;pnpm add tinymce / pnpm add tinymce/tinymce-vue > Vue3 tinymce tinymce/tinymce-vue 2、功能实现图片上传…...

typescript 类型声明文件

typescript 类型声明文件概述 在今天几乎所有的JavaScript应用都会引入许多第三方库来完成任务需求。这些第三方库不管是否是用TS编写的&#xff0c;最终都要编译成JS代码&#xff0c;才能发布给开发者使用。6我们知道是TS提供了类型&#xff0c;才有了代码提示和类型保护等机…...

Hadoop伪分布式环境搭建

什么是Hadoop伪分布式集群&#xff1f; Hadoop 伪分布式集群是一种在单个节点上模拟分布式环境的配置&#xff0c;用于学习、开发和测试 Hadoop 的功能和特性。它提供了一个简化的方式来体验和熟悉 Hadoop 的各个组件&#xff0c;而无需配置和管理一个真正的多节点集群。 在 Ha…...

张家口做网站的公司/宁波seo外包方案

python 读取文件函数 觉得有用的话,欢迎一起讨论相互学习~感谢莫烦老师 详情 读取文件内容 file.read() 使用 file.read() 能够读取到文本的所有内容. file open(my file.txt,r) contentfile.read() print(content) """" This is my first test. This is t…...

怎么把做网站发给别人/百度网盘会员

题目链接&#xff1a; http://acm.hdu.edu.cn/showproblem.php?pid5754 题目大意&#xff1a; 4种棋子&#xff0c;象棋中的 1王&#xff0c;2车&#xff0c;3马&#xff0c;4后&#xff0c;选其一&#xff0c;B和G轮流走&#xff0c;不能往左上走&#xff0c;一开始棋子在(1,…...

专业广州网站设计/安卓aso优化工具

python在ros中订阅雷达数据并可视化处理 文章目录python在ros中订阅雷达数据并可视化处理参考教程&#xff1a;预设条件&#xff1a;图片&#xff1a;程序&#xff1a;接着上一次的博客&#xff0c;我可视化激光雷达的数据还是整好了&#xff0c;记录一下吧&#xff0c;国内现成…...

泊头在哪做网站比较好/百度网页游戏中心

首先 第一步改变传统dao层 先要再resource文件夹下创建一个applicationContext.xml 内容如下 关键代码 <!-- 使spring扫描包下的所有类&#xff0c;让标注spring注解的类生效 若扫描到有Component ControllerService等这些注解的类&#xff0c;则把这些类注…...

ps里怎么做网站/百度百家号

Mac电脑用的时间久了&#xff0c;Mac用户尤其是MacBook用户会经常收到“磁盘几乎已满”的提示&#xff0c;如何解决这个问题&#xff0c;这里分享几个处理磁盘空间不足提示的小方法。 方法一、清理Mac电脑的缓存文件 一般电脑里都会堆积很多的缓存文件&#xff0c;其实缓存文件…...

网站如何做导航/万网域名管理平台

粒子群算法读书笔记精读 2020《电子信息学报》基于非线性降维的自然计算方法 孙小晴&#xff08;2020-04-28&#xff09; 1针对问题 高维大规模优化问题&#xff0c;陷入局部最优与收敛速度和时间复杂度的矛盾。 2创新点 非线性降维思想 - NDR 将初始化的N个D维个体&…...