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

Java进阶学习笔记|面向对象

第一章.类和对象

1.面向对象的介绍

1.面向过程:自己的事情自己干,代表语言C语言洗衣服:每一步自己要亲力亲为 -> 找个盆,放点水,找个搓衣板,搓搓搓
2.面向对象:自己的事情别人帮忙去干,代表语言Java语言    洗衣服:自己的事情别人干 -> 全自动洗衣机3.为啥要使用面向对象思想编程:懒很多功能别人都给我们实现好了,我们只需要直接拿过来使用即可,简化了我们自己的编写过程,减少了我们的代码量4.什么时候使用面向对象思想编程:调用别人的功能时在一个类中想使用别的类中的成员时,就使用面向对象思想编程至于我们使用的功能人家怎么实现的,我们不需要关心,我们只需要知道怎么使用即可5.怎么使用面向对象思想编程:a.new,new完点呀-> 点代表的是调用b.特殊:如果调用的成员带static关键字,我们不需要new,我们直接类名点即可
public class Demo01Object {public static void main(String[] args) {/*我们想在Demo01Object类中使用Scanner类中的next方法实现录入字符串那么我们就需要使用面向对象思想编程对象:Scanner-> new出来的对象实现好的功能:next()我们只需要知道找来Scanner这个对象,就可以调用这个对象中实现好的next方法至于next方法怎么实现的,我们不需要关心*/Scanner sc = new Scanner(System.in);String data = sc.next();System.out.println("data = " + data);System.out.println("===================================");/*我们想在Demo01Object类中使用Random类中的nextInt方法实现随机整数那么我们就需要使用面向对象思想编程对象:Random -> new出来的对象实现好的功能:nextInt()我们只需要知道找来Random这个对象,就可以调用Random中的nextInt方法至于nextInt怎么实现的,我们不需要关心*/Random rd = new Random();int data2 = rd.nextInt();System.out.println("data2 = " + data2);System.out.println("====================================");int[] arr = {1,2,3,4};//[1,2,3,4]/* System.out.print("[");for (int i = 0; i < arr.length; i++) {if (i== arr.length-1){System.out.print(arr[i]+"]");}else{System.out.print(arr[i]+",");}}*//*Arrays就是我们找来的对象toStrig就是此对象中实现好的功能我们只需要调用,怎么实现我们不关心*/System.out.println(Arrays.toString(arr));}
}

2.类和对象

2.1类(实体类)_class

1.测试类:带main方法的类,主要是运行代码的
2.实体类:是一类事物的抽象表示形式世间万物的分类:比如: 人类   狗类   猫类   鼠标类
组成部分:1.属性(成员变量):这一类事物有啥a.定义位置:类中方法外  b.作用范围:作用于当前类c.定义格式: 数据类型 变量名d.默认值:整数:0小数:0.0字符:'\u0000'布尔:false引用:null2.行为(成员方法):这一类事物都能干啥只需要将模块六所学的方法中的static干掉,其他的都一样
1699602376451
public class Person {//属性-> 成员变量String name;int age;//行为 -> 成员方法public void eat(){System.out.println("人要干饭");}public void drink(){System.out.println("人要喝水");}
}

描述动物类

public class Animal {String kind;//品种String color;//颜色public void eat(){System.out.println("动物要吃饭");}public void sleep(){System.out.println("动物都睡觉");}}

描述手机类

public class Phone {//属性String brand;String color;int price;//行为public void call(String name){System.out.println("给"+name+"打电话");}public String message(){return "给金莲发短信";}
}

2.2对象

1.概述:一类事物的具体体现
2.使用:a.导包: import 包名.类名如果两个类在同一个包下,想要使用对方的成员不需要导包如果两个类不在同一个包下,想要使用对方的成员需要导包特殊包:java.lang -> 使用lang包下的类不需要导包 -> String友情提示:在学四种权限修饰符之前,尽量让两个类在同一个包下b.创建对象:想要使用哪个类中的成员,new哪个类的对象类名 对象名 = new 类名() -> 比如: Person person = new Person()c.调用成员(成员变量,成员方法) -> 想要使用哪个类中的成员,就用哪个类的对象去点哪个成员对象名.成员变量名 = 值对象名.方法名() -> 调用的是无参无返回值方法对象名.方法名(实参) -> 调用的是有参无返回值方法数据类型 变量名 = 对象名.方法名() -> 调用的是无参有返回值方法数据类型 变量名 = 对象名.方法名(实参) -> 调用的是有参有返回值方法
public class Person {//属性-> 成员变量String name;int age;//行为 -> 成员方法public void eat(){System.out.println("人要干饭");}public void drink(){System.out.println("人要喝水");}
}
public class Demo01Person {public static void main(String[] args) {Person person = new Person();System.out.println(person.name);System.out.println(person.age);person.name = "金莲";person.age = 26;System.out.println(person.name);System.out.println(person.age);person.eat();person.drink();}
}

3.练习

需求:用代码去描述一个手机类,在测试类中为手机类中的属性赋值,并且调用手机类中的功能
public class Phone {//属性String brand;//品牌String color;//颜色int price;//价格//行为public void call(String name){System.out.println("给"+name+"打电话");}public String message(){return "给金莲发短信";}
}================================================================public class Demo02Phone {public static void main(String[] args) {Phone phone = new Phone();phone.brand = "苹果";phone.color = "黑色";phone.price = 7999;System.out.println(phone.brand);System.out.println(phone.color);System.out.println(phone.price);phone.call("金莲");String mess = phone.message();System.out.println(mess);}
}
1699607499309

3.匿名对象的使用

1.int i = 10
a.int:是数据类型
b.i:变量名
c.等号右边的10:真正的数据2.Person p = new Person()
a.等号左边的Person:对象的类型,好比是int   
b.p:对象名
c.等号右边的new Person():真正的数据,是一个Person对象,将这个对象真正创建出来了    
1.所谓的匿名对象:其实就是没有等号左边的部分,只有等号右边的部分(对象)
2.使用:new 对象().成员3.注意:a.如果我们只想单纯的调用一个方法,让方法执行,我们可以考虑使用匿名对象b.但是如果涉及到赋值,千万不要用匿名对象    
public class Person {String name;public void eat(){System.out.println("人要吃饭");}
}
public class Demo01Person {public static void main(String[] args) {//原始方式Person p = new Person();p.name = "金莲";System.out.println(p.name);p.eat();System.out.println("=================");//匿名对象new Person().eat();new Person().name = "大郎";System.out.println(new Person().name);//null}
}

第二章.成员变量和局部变量的区别

1.定义位置不同(重点)a.成员变量:类中方法外b.局部变量:定义在方法之中或者参数位置2.初始化值不同(重点)a.成员变量:有默认值的,所以不用先手动赋值,就可以直接使用b.局部变量:是没有默认值的,所以需要先手动赋值,再使用3.作用范围不同(重点)a.成员变量:作用于整个类b.局部变量:只作用于自己所在的方法,其他方法使用不了4.内存位置不同(了解)a.成员变量:在堆中,跟着对象走b.局部变量:在栈中,跟着方法走5.生命周期不同(了解)a.成员变量:随着对象的创建而产生,随着对象的消失而消失b.局部变量:随着方法的调用而产生,随着方法的调用完毕而消失    
public class Person {String name;//成员变量public void eat(){int i = 10;//局部变量System.out.println(i);System.out.println(name);//成员变量不用手动赋值可以直接使用,因为有默认值}public void drink(){int j;//System.out.println(j);//局部变量没有默认值,所以需要手动赋值再使用System.out.println(name);//System.out.println(i);//i是eat方法的局部变量,在drink中使用不了}
}

第三章.练习

需求:定义一个类MyDate,属性有 year  month  day再定义一个类Citizen(公民类),属性有 name(String类型)  birthday(MyDate类型)  idCard(String),为这三个属性赋值,然后将值取出来
public class MyDate {int year;int month;int day;
}
public class Citizen {//姓名String name;  //默认值 null/*生日  MyDate类型MyDate属于自定义类型(引用数据类型)这种类型要操作之前必须要赋值怎么赋值?  需要new对象赋值*/MyDate birthday = new MyDate(); // 默认值 null//身份证String idCard;  //默认值null
}
public class Test01 {public static void main(String[] args) {Citizen citizen = new Citizen();citizen.name = "涛哥";citizen.idCard = "111111111";/*citizen.birthday获取的是MyDate对象再去点year获取的是MyDate对象中的year链式调用*/citizen.birthday.year = 2000;citizen.birthday.month = 10;citizen.birthday.day = 10;System.out.println(citizen.name+","+citizen.birthday.year+","+citizen.idCard);}
}

给引用数据类型赋值,需要new对象(String比较特殊,可以直接=赋值)

相关文章:

Java进阶学习笔记|面向对象

第一章.类和对象 1.面向对象的介绍 1.面向过程:自己的事情自己干,代表语言C语言洗衣服:每一步自己要亲力亲为 -> 找个盆,放点水,找个搓衣板,搓搓搓 2.面向对象:自己的事情别人帮忙去干,代表语言Java语言 洗衣服:自己的事情别人干 -> 全自动洗衣机3.为啥要使用面向对…...

ESP32_H2(IDF)学习系列-ADC模数转换(连续转换)

一、简介&#xff08;节选手册&#xff09; 资料参考https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32h2/api-reference/peripherals/adc_calibration.html 1 概述 ESP32-H2 搭载了以下模拟外设&#xff1a; • 一个 12 位逐次逼近型模拟数字转换器 (SAR ADC)&…...

二叉树的右视图

199. 二叉树的右视图 已解答 中等 相关标签 相关企业 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 # Definition for a binary tree node. # class TreeNode(object): #…...

Pinpoint 是一个开源的分布式追踪系统

pinpointagent2.2.2.tar 是 Pinpoint 的一个版本&#xff0c;Pinpoint 是一个开源的分布式追踪系统&#xff0c;专门用于对 Java 应用程序进行性能监控、日志记录和故障诊断。它可以帮助开发人员和运维人员追踪和分析微服务架构中服务之间的调用链&#xff0c;并进行性能分析。…...

React 脚手架使用指南

React 脚手架使用指南 目录 概述创建项目项目结构常用命令配置说明最佳实践 概述 什么是 React 脚手架&#xff1f; React 脚手架(Create React App)是 Facebook 官方提供的创建 React 单页应用的工具。它提供了一个零配置的现代构建设置。 为什么使用脚手架&#xff1f;…...

Win10提示“缺少fbgemm.dll”怎么办?缺失fbgemm.dll文件的修复方法来啦!

fbgemm.dll文件的作用 fbgemm.dll&#xff08;Facebook GEMM library&#xff09;是一个动态链接库文件&#xff0c;它主要用于优化矩阵乘法运算&#xff0c;提高计算性能。虽然它不是Windows 10系统的核心组件&#xff0c;但在某些应用程序或游戏中&#xff0c;尤其是那些需要…...

vue2 elementui if导致的rules判断失效

优化目标 和 目标转化出价必填的 切换的时候还会隐藏掉 这时候的if语句会导致rules判断失效 我的办法是把判断拉到外面 别放在el-form-item里 <section v-if"unitForm.baseTarget OCPM && unitForm.cpaTargetOptions ! undefined && unitForm.cpaTa…...

基于科大讯飞大模型Spark 4.0 Ultar 的微信聊天机器人搭建教程---零基础搭建最详细图文版!!!

1、软件的下载及部署 搭建该微信聊天机器人&#xff0c;主要依赖的编程语言为python&#xff0c;故需要搭建python的开发环境&#xff0c;主要包含python解释器的下载与安装以及编译器pycharm的下载与安装 1.1 python解释器的下载与安装 python解释器官网&#xff1a;https:…...

SpringBoot整合Netty

前言 Netty是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高并发协议服务器和客户端。 Netty主要基于Java NIO实现,提供了异步和事件驱动的网络编程工具,简化了TCP和UDP服务器的编程。 Netty广泛应用于分布式系统、实时通信、游戏开发等领域,例如,…...

机器学习之PCA降维

主成分分析&#xff08;PCA&#xff0c;Principal Component Analysis&#xff09; 主成分分析&#xff08;PCA&#xff09;是一种常见的无监督学习技术&#xff0c;广泛应用于数据降维、数据可视化以及特征提取等任务。PCA的目标是通过线性变换将数据从高维空间映射到低维空间…...

《 OpenCV 环境搭建》

《OpenCV 环境搭建》 一、OpenCV 简介二、准备工作三、安装 OpenCV&#xff08;一&#xff09;获取安装包&#xff08;二&#xff09;安装过程 四、配置环境变量&#xff08;一&#xff09;系统环境变量配置&#xff08;二&#xff09;项目环境变量配置&#xff08;以 Visual S…...

【阅读记录-章节7】Build a Large Language Model (From Scratch)

系列文章目录 【阅读记录-章节1】Build a Large Language Model (From Scratch) 【阅读记录-章节2】Build a Large Language Model (From Scratch) 【阅读记录-章节3】Build a Large Language Model (From Scratch) 【阅读记录-章节4】Build a Large Language Model (From Scr…...

在js中实现下载base64数据,兼容低版本

详细步骤如下 1、解析 Base64 数据&#xff1a; 如果数据流中包含前缀 data:…;base64,&#xff0c;先分离 MIME 类型和 Base64 数据部分。如果没有前缀&#xff0c;假设默认 MIME 类型&#xff08;如 application/octet-stream&#xff09;。 2、Base64 解码&#xff1a; 使…...

垃圾分割数据集labelme格式659张1类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;659 标注数量(json文件个数)&#xff1a;659 标注类别数&#xff1a;1 标注类别名称:["garbage"] 每个类别标注的框数&#…...

深入探索 npm cache clean --force:清理 npm 缓存的艺术

npm 是 JavaScript 编程语言的包管理器&#xff0c;它是 Node.js 运行环境的默认包管理器。npm 提供了一个丰富的生态系统&#xff0c;包括数以百万计的可重用代码包。然而&#xff0c;随着时间的推移&#xff0c;npm 的缓存可能会变得庞大&#xff0c;影响性能或导致一些奇怪的…...

Flink中并行度和slot的关系——任务和任务槽

一、任务槽&#xff08;task slots) Flink的每一个TaskManager是一个JVM进程&#xff0c;在其上可以运行多个线程&#xff08;任务task&#xff09;&#xff0c;那么每个线程可以拥有多少进程资源呢&#xff1f;任务槽就是这样一个概念&#xff0c;对taskManager上每个任务运行…...

22【AUTOSAR自适应平台设计的概述01】杂项概念介绍

1.AUTOSAR自适应平台设计的概述 本小课题主要是让读者对AUTOSAR自适应平台设计的思路有个宏观的概念,不拘泥于具体的技术细节。 总结如下: 概述AUTOSAR自适应平台(AP)的设计。为AP用户和实施者提供总体设计和关键概念2.具体的章节由以下几个部分组成: 技术范围和方法: 介…...

基础运维学习计划-base版

目录 需要学习的内容&#xff1f; liunx基础 sql/mysql基础 tcp/ip协议基础 http基础 dns基础 网络基础&#xff1a;交换&路由概念&原理 常见网络协议 月学习计划 12.26 日 &#xff08;bilibili自己找视频看看&#xff0c;资源很多&#xff09; 12.27日 1…...

Golang的发展历程

Golang的发展历程可以分为以下几个阶段&#xff1a; 设计阶段&#xff1a;2007年&#xff0c;Google开始研究开发一种新的编程语言&#xff0c;主要出于对C和Java等编程语言的不足之处的反思。经过一年多的研究和讨论&#xff0c;Golang的设计方案得到确定&#xff0c;主要包括…...

数据结构之线性表之顺序表

定义&#xff1a; 由n&#xff08;n>0&#xff09;个数据特性相同的元素构成的有限序列称为线性表 简单来说n个相同数据类型的数据组wsw合在一起的这么一个集合就是一个线性表 线性表包括顺序表和链表 1. 顺序表&#xff08;我们所有的代码实现都用函数来封装&#xff09…...

GESP202309 二级【小杨的 X 字矩阵】题解(AC)

》》》点我查看「视频」详解》》》 [GESP202309 二级] 小杨的 X 字矩阵 题目描述 小杨想要构造一个 的 X 字矩阵&#xff08; 为奇数&#xff09;&#xff0c;这个矩阵的两条对角线都是半角加号 &#xff0c;其余都是半角减号 - 。例如&#xff0c;一个 5 5 5 \times 5 5…...

流量主微信小程序工具类去水印

工具类微信小程序流量主带后台管理&#xff0c;可开通广告&#xff0c;带自有后台管理&#xff0c;不借助第三方接口 介绍 支持抖音&#xff0c;小红书&#xff0c;哔哩哔哩视频水印去除&#xff0c;功能实现不借助第三方平台。可实现微信小程序流量主广告变现功能&#xff0c…...

Es搭建——单节点——Linux

Es搭建——单节点——Linux 一、安装 下载安装包&#xff1a; 官网下载地址&#xff1a;https://www.elastic.co/downloads/elasticsearch 上传包到linux 切换到安装目录下 解压&#xff1a;tar -zxvf elasticsearch-7.17.1-linux-x86_64.tar.gz 重命名安装文件夹 mv elastics…...

linux安装idea

参考原网址&#xff1a;在Linux系统中安装idea教程_idea linux-CSDN博客 1.下载idea Download IntelliJ IDEA – The Leading Java and Kotlin IDE 选择Download&#xff0c;下载正确的文件名&#xff1a;ideaIU-2024.3.1.1.tar.gz 2.安装vim sudo apt install vim 3.解压…...

PLSQL 客户端连接 Oracle 数据库配置

1. 安装Oracle客户端 首先&#xff0c;安装Oracle客户端。可以从Oracle官方网站下载Oracle Instant Client, 安装完成后&#xff0c;请记住安装路径&#xff0c;因为将在后续步骤中需要用到它。 2. 配置环境变量 添加环境变量 ORACLE_HOME 安装Oracle客户端后&#xff0c;配…...

C#调用OpenXml,读取excel行数据,遇到空单元跳过现象处理

问题及现象 在OpenXML中文件不包含空白单元格的条目&#xff0c;这就是跳过空白单元格的原因。 所以如果当我们打开一个excel&#xff0c;读取一个表格数据&#xff0c;发现如果有空单元格&#xff0c;openXML会跳过导致读取的数据发生错位。 比如这个是原始的excel表格数据…...

【计算机视觉CV-图像分类】06 - VGGNet的鲜花分类实现:从数据预处理到模型优化的完整实战!

目录 引言 VGGNet概述 VGGNet的网络架构 基于预训练VGGNet的五类鲜花分类实现 4.1 数据准备与预处理 4.2 模型实例化与参数调整 4.3 模型训练与保存最优模型 4.4 模型导入与预测 4.5 训练过程的可视化 模型优化与防止过拟合 总结与展望 参考文献 引言 在计算机视觉…...

QT 控件定义为智能指针引发的bug

问题描述&#xff1a; std::unique_ptr<QStackedLayout> m_stacked_layout; 如上为定义&#xff1b; 调用&#xff1a; Line13ABClient::Line13ABClient(QWidget *parent) : BaseWidget(parent) { // 成员变量初始化 m_get_ready false; m_tittle_wnd…...

@register_model 装饰器

使用 register_model 装饰器来注册模型类有以下几个优势&#xff1a; 自动化注册&#xff1a; 通过装饰器自动将模型类注册到一个全局字典中&#xff0c;避免了手动注册的繁琐操作&#xff0c;使代码更加简洁和易于维护。 易于扩展&#xff1a; 可以方便地添加新模型&#xff…...

图像处理-Ch7-图像金字塔和其他变换

Ch7 小波变换&其他图像变换 文章目录 Ch7 小波变换&其他图像变换背景知识(bk)图像金字塔(Image Pyramid)子带编码(Sub-band Coding)Z - 变换(线性变换)完美重建滤波器组(PCFB, Perfect Construction Filter Banks)有限脉冲响应&#xff08;FIR&#xff09;滤波器双正交…...

解决在vue3+vite+element-plus 中echarts在el-dialog无法正常显示问题

核心&#xff1a;在dom加载完成后调用echarts实例 的resize()方法 这里是一个例子 这里封装一个echarts <template><div class"container" ref"container"></div> </template> <script lang"ts" setup> import {…...

SQL进阶技巧:如何计算摆动的序列?| LeetCode 376.-摆动序列

目录 0 摆动序列 1 数据准备 2 问题分析 3 小结 0 摆动序列 原题链接:376. 摆动序列 - 力扣(LeetCode) 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的…...

告别卡顿:探索 Java FGC 的根源与高效解决方案

Java Full Garbage Collection (FGC) 的产生原因及解决办法 引言 在Java应用程序的生命周期中&#xff0c;垃圾回收&#xff08;Garbage Collection, GC&#xff09;是确保内存有效管理的关键机制。然而&#xff0c;当发生Full Garbage Collection&#xff08;FGC&#xff09…...

MySQL索引为什么是B+树

MySQL索引为什么是B树 索引是帮助MySQL高效获取数据的数据结构&#xff0c;在数据之外&#xff0c;数据库还维护着满足特定查找算法的数据结构B树&#xff0c;这些数据结果以某种特定的方式引用数据&#xff0c;这样就可以在这些数据结构上实现高级查找算法&#xff0c;提升数据…...

准备考试:解决大学入学考试问题

引言 在编程竞赛和算法挑战中&#xff0c;我们经常会遇到各种类型的组合问题。这些问题不仅考验我们的逻辑思维能力&#xff0c;还要求我们熟练掌握数据结构和算法。在这篇文章中&#xff0c;我们将探讨一个有趣的问题——“准备考试”&#xff0c;这个问题来自于一个虚构的情…...

vue3中如何自定义插件

英译汉插件 i18n.ts export default {install: (app: any, options: any) > {// 注入一个全局可用的$translate()方法app.config.globalProperties.$translate (key: string) > {// 获取options对象的深层属性// 使用key作为索引return key.split(".").redu…...

Linux应用软件编程-多任务处理(进程)

多任务&#xff1a;让系统具备同时处理多个事件的能力。让系统具备并发性能。方法&#xff1a;进程和线程。这里先讲进程。 进程&#xff08;process&#xff09;&#xff1a;正在执行的程序&#xff0c;执行过程中需要消耗内存和CPU。 进程的创建&#xff1a;操作系统在进程创…...

PyCharm专项训练5 最短路径算法

一、实验目的 本文的实验目的是通过编程实践&#xff0c;掌握并应用Dijkstra&#xff08;迪杰斯特拉&#xff09;算法和Floyd&#xff08;弗洛伊德&#xff09;算法来解决图论中的最短路径问题。 二、实验内容 数据准备&#xff1a; 使用邻接表的形式定义两个图graph_dijkstra…...

“AI+Security”系列第4期(一)之“洞” 见未来:AI 驱动的漏洞挖掘新范式

在数字化浪潮下&#xff0c;安全漏洞问题日益严峻&#xff0c;成为各行业发展的重大挑战。近日&#xff0c;“AISecurity” 系列第 4 期线下活动于北京成功举办&#xff0c;聚焦 “洞” 见未来&#xff1a;AI 驱动的漏洞挖掘新范式&#xff0c;汇聚了安全领域的众多专家。 本次…...

安卓蓝牙扫描流程

目录 系统广播 流程图 源码跟踪 系统广播 扫描开启广播&#xff1a;BluetoothAdapter.ACTION_DISCOVERY_STARTED "android.bluetooth.adapter.action.DISCOVERY_STARTED";扫描关闭广播&#xff1a;BluetoothAdapter.ACTION_DISCOVERY_FINISHED "android.b…...

【视觉惯性SLAM:对极几何】

对极几何&#xff08;Epipolar Geometry&#xff09;介绍 对极几何是立体视觉中的核心内容之一&#xff0c;它描述了两个相机在观察同一个三维场景时&#xff0c;成像平面之间的几何关系。对极几何能够约束图像中对应点的位置关系&#xff0c;是双目立体匹配、三维重建、以及位…...

Stream `Collectors.toList()` 和 `Stream.toList()` 的区别(Java)

Stream Collectors.toList() 和 Stream.toList() 的区别 问题背景 在以下代码中&#xff1a; Test void test() {JSONArray nodes new JSONArray();String[] names {"df1", "df2", "df3"};for (String name : names) {JSONObject obj new …...

【Python知识】Python面向对象编程知识

Python面向对象编程知识 概述1. 类&#xff08;Class&#xff09;2. 对象&#xff08;Object&#xff09;3. 封装&#xff08;Encapsulation&#xff09;4. 继承&#xff08;Inheritance&#xff09;5. 多态&#xff08;Polymorphism&#xff09;6. 抽象&#xff08;Abstractio…...

安卓帧率获取

背景 性能优化&#xff0c;经常用到一些指标&#xff0c;诸如帧率、功耗等。对于普通app来讲&#xff0c; 之前一直使用gfxinfo指令获取丢帧率。但是这个指令无法获取游戏的帧率&#xff0c;查阅资料&#xff0c;发现SurfaceFlinger可以获取游戏帧率。 帧率获取原理 获取当前f…...

shell脚本(全)

shell脚本概述 第一个shell脚本 shell注释 shell变量 shell位置参数 shell字符串 shell内置命令 shell命令替换 输出 流程控制IF export命令 退出脚本 运行Shell脚本 实例导航 shell脚本概述 在说什么是shell脚本之前&#xff0c;先说说什么是shell。 从程序员的…...

Flask-----SQLAlchemy教程

存session session[username] username # 存储数据到 session 取session username session.get(username) render_template return render_template(index.html, usernameAlice)&#xff0c;渲染一个包含 username 变量的模板。 redirect return redirect(url_for(profil…...

【C++11】可变模板参数

目录 可变模板的定义方式 参数包的展开方式 递归的方式展开参数包 STL中的emplace相关接口函数 STL容器中emplace相关插入接口函数 ​编辑 模拟实现&#xff1a;emplace接口 C11的新特性可变参数模板能够让您创建可以接受可变参数的函数模板和类模板&#xff0c;相比 C9…...

.NET开发人员学习书籍推荐

作为一名.NET开发人员&#xff0c;掌握相关技术是提升开发能力和拓展职业发展的关键。无论你是刚入门的新人&#xff0c;还是希望精进技术的资深开发者&#xff0c;选择合适的学习资源至关重要。下面是一些经典且实用的学习书籍推荐&#xff0c;帮助你在C#、SQL、前端开发等方面…...

jupyter切换内核方法配置问题总结

下面这个博客总结了3种不同的方法&#xff0c;很有调理&#xff0c;推荐尝试 【最全指南】如何在 Jupyter Notebook 中切换/使用 conda 虚拟环境&#xff1f; !!! 注意使用上面介绍的ipykernel方法2, 要在每一个希望被jupyter识别到的环境内【分别】安装ipykernel以及添加配置 …...

SVM理论推导

本文介绍支持向量机&#xff08;SVM&#xff09;的理论推导。 一、SVM 的基本思想 SVM 的目标是找到一个最优超平面&#xff0c;将样本分为不同的类别&#xff0c;并最大化类别间的间隔。 1. 线性可分情况下&#xff1a; 在特征空间中找到一个超平面&#xff0c;使得&#…...