三、Java面向对象
1 . 方法
- 方法(method)是程序中最小的执行单元
- 方法就是一些代码的打包 需要的时候可以直接调用
- 方法之间是平级的关系 不能在方法里面定义方法
- 方法不调用就不执行
方法的定义
// 方法的定义
/*
[修饰符] 返回值类型 方法名称([参数 1],[参数 2]){语句A;return 返回值;
}
*/// 创建一个方法 max_arrays 参数为一个数组 返回值为int类型
// 返回数组中的最大值
int max_arrays(int[] a){int max=a[0];for(int i=1;i<a.length;i++){max=max<a[i]?a[i]:max;} return max;
}// 不带返回值的方法 void
// 创建一个方法 方法中输出 "Hello World!"
// 没有返回值的方法 return 可以省略不写
// 如果要编写 return 则后面不能添加数据
void _print(){System.out.println("Hello World!");
}
方法的重载
- 在同一个类中定义了多个同名的方法 这些同名的方法具有近似的功能
- 每个方法需要的参数类型或者参数数量都互不相同 这些同名的方法 就构成了重载关系
- 同一个类中不能定义 方法名与所需参数完全相同的两个方法
// 定义三个方法 需要分别返回 两个数 三个数 四个数之间的最大值
int max(int a,int b){return a>b?a:b;
}
int max(int a,int b,int c){return max(a,max(b,c));
}
int max(int a,int b,int c,int d){return max(max(a,b),max(c,d));
}
方法的基本内存原理
- Java的内存分配
- 栈 方法运行时使用的内存 方法进栈运行, 运行完毕就出栈
- 堆 new出来的 都在堆内存中开辟一个小空间
- 方法区 存储可以运行的class文件
- 本地方法栈 JVM在使用操作系统功能的时候使用 和我们无关
- 寄存器 给CPU使用 与开发无关
public class main {static int max(int a,int b){return a>b?a:b;}public static void main(String[] args) {int c=max(10,23);}
}
/*
刚开始程序运行 main方法入栈 接着调用 max 方法,max方法入栈之后运行判断大小语句并返回值 返回之后 max方法运行完毕出栈
再回到main函数 main函数运行完之后也出战 程序运行完毕
*/
基本数据类型和引用数据类型
基本数据类型 | 引用数据类型 |
---|---|
整数类型 浮点数类型 字符类型 布尔类型 | 除了左边的基本数据类型都是引用类型 例如 字符串等 |
基本数据类型
- 数据值是存储在自己的空间中
- 赋值给其他变量,也是赋真实的值
- 方法传递基本数据类型时 传递的是真实的数据 并不会改变实际参数的值
public class main {public static void main(String[] args) {int a=10;}
}
/*
基本数据类型存储的都是自身的值
int a=10 就是在栈内存中开辟了一块int类型的空间 存储的值为10
*/
引用数据类型
- 数据值是存储在其他的空间中 自己空间中存储的只是数据的地址值
- 赋值给其他变量也是赋的地址值
- 方法在传递引用数据类型时 传递的是地址值 形参的改变 会影响实际参数的值
public class main {public static void main(String[] args) {int[] a=new int[]{1,2,3};String s="123";}
}
/*
引用数据类型的数据都是存储在堆空间当中
int[] a=new int[]{1,2,3}; 就是在堆内存中开辟了一个长度为3的数组 并且把数组在堆内存当中的地址值赋值给了变量 a
a就可以通过地址值在堆内存当中找到数组的元素
*/
2 . 面向对象
类和对象
- 类 (设计图) : 是对象共同特征的描述
- 对象 : 是真实存在具体的东西
在Java中必须先设计类,才能获得对象
类的定义
- 一个Java文件中可以定义多个class类 且只有一个类是 public 修饰,并且public修饰的类名必须与文件名相同
- 实际开发中一个Java文件一般只会定义一个类
/*
public class 类名{成员变量 (代表属性 一般是名词)成员方法 (代表行为 一般是动词)构造方法...
}
*///定义一个学生类 需要存储学生的 姓名 年龄 学号 ,学生的行为有 学习
public class Student {//属性String name;int age;String ID;//行为public void s(){System.out.println("学生在学习");}
}
成员变量的初始默认值
数据类型 | 类型 | 默认值 |
---|---|---|
基本数据类型 | 整数 | 0 |
基本数据类型 | 小数 | 0.0 |
基本数据类型 | 布尔 | false |
引用数据类型 | 类,接口,数组,String | null |
类的使用
public class main {public static void main(String[] args) {//创建一个学生类Student s=new Student();//给类中的属性赋值s.name="张三";s.age=13;s.ID="00001";//调用类中的方法s.s(); }
}
3 . 封装
- 对象代表什么 就得封装对应的数据 并提供数据对应的行为
this关键字
- 获取类中成员变量的值
// 定义一个学生类 添加成员变量 期末考试成绩, 添加成员方法 比较期末考试成绩大小 如果成员变量的大 返回true 否则false
public class Student {String name;int age;double resule;String ID;// 在这个方法中 形参与成员变量重名// 第一个this.result获取到的就是成员变量result的值 第二个不带this的result获取到的就是方法接收到的值public boolean comp(double result){return this.result>result;}
}
构造方法
- 构造方法没有返回值
- 构造方法必须与类名相同
- 构造方法可以重载
- 一般设计类会有空参构造和全参构造两种
//设计带构造方法的学生类 并且在类中添加一个打印学生所有属性的方法
public class Student {String name;int age;String ID;//全参构造public Student(String name, int age, String ID) {this.name = name;this.age = age;this.ID = ID;}//空参构造public Student() {}public void s(){System.out.println("学生在学习");}public void p(){System.out.println(this.name+" "+this.age+" "+this.ID);}
}
带有构造方法的类可以在创建类时自动赋值
//创建一个学生类 并且初始化学生的姓名 年龄 ID
public class main {public static void main(String[] args) {Student s=new Student("张三",13,"00001");s.p();}
}
//程序输出为 :张三 13 00001
private关键字
- 一个权限修饰符
- 可以修饰成员变量与成员方法
- 被private修饰的成员只能在本类中访问
// 刚刚在上面的学生类中 我们创建了学生类 可以之间通过 变量名.成员变量之间修改
// 但是这样修改数据不安全 明显年龄只能是正数 但是随意修改可以变成负数
// 给 成员变量添加 private 关键字之后 就不能在外部修改与访问成员变量 只能在类中才能获取// 通过与this关键字相结合 设计一个学生类 包含学生的姓名 年龄
// 通过get方法获取成员变量的值 通过set方法修改成员变量的值
public class Student {private String name;private int age;public Student(String name, int age) {setName(name);setAge(age);}public Student() {}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {// 传过来的age必须大于0才能修改年龄的值if(age>0){this.age = age;}}
}
标准的Javabean类
- 类名需要见名知意
- 成员变量需要使用private修饰, 并提供相应的get set方法
- 至少提供两个构造方法
- 全参构造
- 无参构造
- 位对应的行为提供相应的方法
创建一个标准的用户类
public class User {// 用户名private String name;// 邮箱private String email;// 密码private String password;// 年龄private int age;// 空参构造public User() {}// 全参构造public User(String name, String email, String password, int age) {this.name = name;this.email = email;this.password = password;this.age = age;}// 所有成员变量的get() set()方法public String getName() {return name;}public void setName(String name) {this.name = name;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}
一个对象的内存图
public class main {public static void main(String[] args) {User u=new User("张三","123@163.com","123456",13);}
}
/*
1. 加载class文件
2. 申明局部变量
3. 在堆内存中开辟一个空间
4. 默认初始化
5. 显示初始化
6. 构造方法初始化
7. 将堆内存中的地址赋值给左边的变量
*/
成员变量和局部变量
- 成员变量 : 类中方法外的变量
- 局部变量 : 在方法中定义或在方法申明上的变量
成员变量和局部变量的区别
区别 | 成员变量 | 局部变量 |
---|---|---|
类中位置不同 | 类中、方法外 | 方法内定义、方法申明上 |
初始化值不同 | 有默认初始化值 | 无默认初始化值 |
内存位置不同 | 堆内存 | 栈内存 |
生命周期不同 | 随着对象的创建而创建 随着对象的消失而消失 | 随着方法的调用而出现 随着方法的运行结束而消失 |
作用域不同 | 整个类中有效 | 整个方法中有效 |
4 . 字符串 String
String 概述
-
String是Java定义好的一个类 定义在java.lang包中 所以在使用的时候不需要导包
-
Java程序中所有的字符串文字 (“123”,“abc”)都被识别位此类的对象
-
字符串的内容是不会发生改变的 它的对象在创建后不能被更改
String 的构造方法
构造方法 | 说明 |
---|---|
public String() | 创建空白字符串,不包含任何内容 |
public String(String original) | 根据传入的字符串,创建字符串对象 |
public String(char[] chs) | 根据传入的char数组,创建字符串对象 |
public String(byte[] chs) | 根据传入的byte数组,创建字符串对象 |
… | … |
创建String的两种方式
public class test {public static void main(String[] args) {// 直接赋值创建String s1="abc";// 使用构造方法创建String s2=new String();}
}
String 的常用方法
返回值 | 方法体 | 说明 |
---|---|---|
char | charAt(int index) | 返回 char 指定索引处的值。 |
int | codePointAt(int index) | 返回指定索引处的字符(Unicode代码点)。 |
String | concat(String str) | 将指定的字符串连接到该字符串的末尾。 |
boolean | contains(CharSequence s) | 判断当前字符串是否包含指定字符。 |
boolean | equals(Object anObject) | 将此字符串与指定对象进行比较。 |
int | indexOf(int ch) | 返回指定字符第一次出现的字符串内的索引。 |
String | trim() | 返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。 |
char[] | toCharArray() | 将此字符串转换为新的字符数组。 |
int | length() | 返回此字符串的长度。 |
String 的比较
- Java中字符串不能使用
==
号来进行比较 - String是引用数据类型 使用
==
进行比较比较的是String在堆空间存储的地址值 - 字符串的比较需要使用String自带的
equals()
方法来进行比较
String s=new String("1234");
System.out.println(s.equals("1234"));// true
System.out.println(s=="1234");// false
StringBuilder
- 一个可变的字符序列。
构造方法
构造方法 | 说明 |
---|---|
StringBuilder() | 构造一个没有字符的字符串构建器,初始容量为16个字符。 |
StringBuilder(CharSequence seq) | 构造一个包含与指定的相同字符的字符串构建器 CharSequence 。 |
StringBuilder(int capacity) | 构造一个没有字符的字符串构建器,由 capacity 参数指定的初始容量。 |
StringBuilder(String str) | 构造一个初始化为指定字符串内容的字符串构建器。 |
常用方法
返回值 | 方法体 | 说明 |
---|---|---|
StringBuilder | append(任意类型) | 将指定的参数附加到此字符序列。 |
String | toString() | 返回表示此顺序中的数据的字符串。 |
StringBuilder | reverse() | 反转字符序列并返回。 |
字符串相关类的底层原理
- 字符串存储的内存原理
- 直接赋值会复用字符串常量池中的
- new出来的不会复用 而是开辟一个新的内存空间
==
比较的是什么- 基本数据类型比较的是值
- 引用数据类型比较的是地址值
- 字符串拼接的底层原理
- 如果没有变量参与 都是字符串直接相加 编译之后就是拼接之后的结果 会复用串池的字符串
- 如果有变量参与 每一行拼接的代码 都会在内存中创建新的字符串 浪费内存
- StringBuilder提高效率
- 所有要拼接的内容都会往StringBuilder中放 不会创建很多无用的内存 节省内存
5 . 集合 ArrayList
- 可以存储基本数据类型
- 可以存储引用数据类型
- 可以存储自定义数据类型
- 集合长度可变 跟随存储的数据数量自动扩容
创建集合
/*
ArrayList<E> 集合名 = new ArrayList<E>();
E : 泛型
ArrayList 创建基本数据类型时,不能直接使用 int flaot.. ,只能使用基本数据类型对应的包装类
*/ArrayList<Integer> list=new ArrayList<Integer>();
基本数据类型对应包装类
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
char | Character |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
构造方法
方法体 | 说明 |
---|---|
ArrayList() | 构造一个初始容量为十的空列表。 |
ArrayList(Collection<? extends E> c) | 构造一个包含指定集合的元素的列表,按照它们由集合的迭代器返回的顺序。 |
ArrayList(int initialCapacity) | 构造具有指定初始容量的空列表。 |
常用方法
返回值 | 方法名 | 说明 |
---|---|---|
int | size() | 返回集合的长度 |
E | gte(int index) | 获取指定下标的元素 |
E | set(int index,E e) | 修改指定下标的元素,返回被修改的元素 |
E | remove(int index) | 删除指定位置的元素,返回被删除的元素 |
boolean | add(E e) | 添加元素 返回值表示是否添加成功 |
boolean | remove(E e) | 删除第一个==e 的元素 返回值表示是否删除成功 |
集合的基本使用
遍历集合
public static void main(String[] args) {ArrayList<Integer> list=new ArrayList<Integer>();for (int i = 0; i < 100; i++) {list.add(i);}for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}
}
集合的长度 |
| E
| gte(int index)
| 获取指定下标的元素 |
| E
| set(int index,E e)
| 修改指定下标的元素,返回被修改的元素 |
| E
| remove(int index)
| 删除指定位置的元素,返回被删除的元素 |
| boolean
| add(E e)
| 添加元素 返回值表示是否添加成功 |
| boolean
| remove(E e)
| 删除第一个==e
的元素 返回值表示是否删除成功 |
集合的基本使用
遍历集合
public static void main(String[] args) {ArrayList<Integer> list=new ArrayList<Integer>();for (int i = 0; i < 100; i++) {list.add(i);}for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}
}
相关文章:
三、Java面向对象
1 . 方法 方法(method)是程序中最小的执行单元方法就是一些代码的打包 需要的时候可以直接调用方法之间是平级的关系 不能在方法里面定义方法方法不调用就不执行 方法的定义 // 方法的定义 /* [修饰符] 返回值类型 方法名称([参数 1],[参数 2]){语句A;return 返回值; } *///…...
pygame7 弹球游戏2
上节课我们做到当球静止下来后在第0号球上画一个球杆 本节课我们将会让这个球杆将球打出来 1、鼠标事件 pygame.mouse.get_pressed():返回鼠标左键,中间,右键的情况 2、键盘事件: pygame.key.get_pressed(): 返回所有键盘的情况 3、pyg…...
计算机网络4:计算机网络体系结构
目录计算机网络体系结构1.网络模型2.每一层的代表含义2.1 OSI7层模型2.2 五层协议2.3 TCP/IP 四层协议3.数据在各层之间的传输过程4.为什么要进行分层计算机网络体系结构 1.网络模型 2.每一层的代表含义 2.1 OSI7层模型 (1)物理层:比特流–…...
1630_GNU的二进制分析工具nm简单使用探索
全部学习汇总: GreyZhang/toolbox: 常用的工具使用查询,非教程,仅作为自我参考! (github.com) GNU有一套二进制的分析工具,之前是用过objdump的,但是也没有系统掌握。如果做底层软件的设计,这些…...
【Redis】Redis高可用之Redis Cluster集群模式详解(Redis专栏启动)
📫作者简介:小明java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建工设优化。文章内容兼具广度深度、大厂技术方案,对待技术喜欢推理加验证,就职于知名金融公…...
1.8 正则表达式
正则表示式是用来匹配与查找字符串的,从网上爬取数据不可避免的会用到正则表达式。 Python 的表达式要先引入 re 模块,正则表达式以 r 引导。Re库主要功能函数函数说明re.search()在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象…...
Postgresql 根据单列或几列分组去重row_number() over() partition by
Postgresql 根据单列或几列分组去重row_number() over() partition by 一般用于单列或者几列需要去重后进行计算值的 count(distinct(eid)) 可以 比如有个例子,需要根据名称,城市去筛选覆盖的道路长度,以月因为建立了唯一索引是ok的&#…...
基于蒙特卡洛法的规模化电动车有序充放电及负荷预测(PythonMatlab实现)
💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🎉作者研究:🏅🏅🏅主要研究方向是电力系统和智能算法、机器学…...
Selenium常用API详解,从入门到进阶(全套)
目录 1、打开页面 2、查找页面元素 3、输入文本 4、点击操作 5、提交操作 6、清除文本 7、获取文本、属性 8、获取页面的标题和URL 9、窗口 9.1、设置窗口大小 9.2、窗口切换 9.2.1、为什么需要窗口切换? 9.2.2、获取句柄的方式 9.2.3、切换句柄 10、…...
自从学会了Python,我实现了壁纸自由(6)
小朋友们好,大朋友们好!我是猫妹!哈哈哈,又到周末啦!这周过得怎么样?马上就要开学了,寒假作业早已写好了吧?开学让人兴奋,上了很久网课都要吐啦!开学也让人有…...
Ruby 发送邮件 - SMTP
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 Ruby提供了 Net::SMTP 来发送邮件,并提供了两个方法 new 和 start: new 方法有两个参数&am…...
Python爱心代码
前言 Python漂浮爱心,具体源码见:Python动态爱心代码_爱心代码-Python文档类资源-CSDN下载 爱心类 class Heart(): #每个爱心(爱心类) def __init__(self): self.r ra.randint(10,15) #爱心的半径 …...
【二分查找法及其应用】
文章目录一. 前提二. 基本思路三. 代码实现四. 封装在STL中的二分查找算法五. 浮点数二分一. 前提 待查找的序列是有序的;待查找的 a 采取顺序存储结构。 二. 基本思路 设在升序序列 a [ low…high ] 查找的 k , 首先找中间值 mid a [ ( lowhigh )/2 …...
Android 进阶——Framework核心 之Binder Java成员类详解(三)
文章大纲引言一、Binder Java家族核心成员关系图二、Binder Java家族核心成员源码概述1、android.os.IBinder1.1、boolean transact(int code, Parcel data, Parcel reply, int flags) send a call to an IBinder object1.2、String getInterfaceDescriptor()1.3、boolean ping…...
Maven
Maven 1.什么是Maven 官方网站 https://maven.apache.org/ Maven是一款服务于Java平台的自动化构建工具,它可以帮助我们更方便的对项目进行构建、管理项目jar包 ,包括: bulid 项目,切换 jar 版本,添加 jar, 删除 jar 包等 1.…...
1947抓住那头牛(队列 广度优先搜索)
目录 题目描述 解析 解题思路 代码部分 代码部分 运行结果 看看len数组中各个位置的标记值 为什么这样做一定是最短路径: 题目描述 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<N<100000)&…...
基于linux5.15.5的IMX 参考手册 ---21
基于linux5.15.5的IMX 参考手册 — 21 10.5.2高清多媒体接口(HDMI)和显示端口(DP)概述 10.5.2.1测试名称 •mxc_cec_test.out 10.5.2.1.1位置 /unit_tests/HDMI/ 10.5.2.1.2功能 验证HDMI CEC功能并向HDMI接收器发送断电命令。 1…...
Android Dalvik虚拟机 堆初始化流程
前言 上篇文章介绍了dalvik虚拟机启动流程,在dalvik虚拟机启动时调用了dvmGcStartup来启动堆。 本文介绍我们在日常开发使用Java时的堆创建流程。 Dalvik堆介绍 Dalvik虚拟机中,堆是由heap[0] Active堆和heap[1] Zygote堆两部分组成的。其中ÿ…...
0讲(补)——开发前必备基本常识
前言 专栏内容持续补充更新,目前正在进行优惠活动 目录 前言 一、函数的声明和定义 二、预编译 三、串口打印中的printf函数的使用...
JS学习笔记
1.WebAPIs简介导读Web APIs 和JS 基础关联性JS 基础阶段以及 Web APIs 阶段JS基础学习 ECMAScript 基础语法为后面作铺垫,Web APIs 是JS 的应用,大量使用JS基础语法做交互效果①JS 基础阶段我们学习的是ECMAScript 标准规定的基本语法要求同学们掌握JS 基…...
linux005之用户、组管理
linux用户管理简介: 任何使用linux系统的用户,都必须使用一个合法的账号和密码,账号和密码一般都是超级管理员创建,当然普通用户也可以创建用户,前提是必须拥有创建用户权限。 root是linux系统中默认创建的超级用户 创…...
列线图工具_Nomogram
定义 列线图是一种相对传统的分析方法,用于展示自变量和因变量的线性关系,及其特征的重要程度。 现在用SHAP,和机器学习库中的 Feature importance 工具可以实现类似甚至更好效果。不过很多传统的研究领域比较认这种方法。 列线图工具建立在…...
【C++】类和对象(一)
目录一、面向过程和面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及封装4.1、访问限定符4.2、封装五、类的作用域六、类的实例化七、类对象的大小八、this指针8.1、this指针的引出8.2、this指针的特性8.3、C语言和C实现Stack的对比一、面向过程和面向对象初步认…...
Python获取搜索引擎结果
前言 想快速获取各个高校的博士招生网站,于是通过python先获取出有可能包含高校博士招生网站的URL,然后通过人为筛选得到了想要的招生网站(注意,并非直接爬取,是间接获取的)。 整理了一份网站名单&#x…...
2.4.8 PCIe——物理逻辑层——REFCLK
一、概述 pcie的参考时钟由板级输入,提供给IP内PHY层的PLL使用,由PLL产生core_clk和pipe_clk。 二、REFCLK产生方式 Serdes 所用时钟由 PHY 模块内的PLL生成,PLL的参考时钟可以由common clock(外部背板提供)、separ…...
树莓派4B arm64 搭建 docker+drone+gitea
树莓派4B arm64 搭建 dockerdronegitea 记录时间: 2023年02月10日 树莓派烧录 如何用树莓派搭建一台永久运行的个人服务器? https://mp.weixin.qq.com/s?__bizMzI5NjA0ODkwNA&mid2651847658&idx1&sn267a1257b43d4a76f2a081ed157b77f9&chksmf7b11…...
Java的JDBC编程
目录 1. 打开IDEA,新建Project 2. 引入依赖 (1)下载驱动包 (2)将驱动包导入Project 3. 编写代码 (1)创建数据源 (2)让代码和数据库服务器建立联系 (3&…...
CSS:块格式化上下文(BFC)
块格式化上下文是块级盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。 块格式化上下文(BFC)的创建 满足以下条件将创建块格式化上下文: 根元素()浮动元素(float 值不为 none)绝对定位元素…...
paddle表情识别部署
表情识别模块1.环境部署1.1同样采用fastDeploy库1.2相关模型2.封装成静态库2.1参考[百度Paddle中PP-Mattingv2的部署并将之封装并调用一个C静态库](https://blog.csdn.net/weixin_43564060/article/details/128882099)2.2项目依赖添加2.3生成成功3.test3.1创建emotion_test项目…...
Python-第五天 Python函数
Python-第五天 Python函数一、函数介绍1. 什么事函数二、函数的定义1.函数的定义:2.案例三、函数的参数1.函数的传入参数2.案例升级四、函数的返回值1.什么是返回值2.返回值的语法3.None类型4.None类型的应用场景五、函数说明文档1.函数的说明文档2.在PyCharm中查看…...
网站功能提升权限/百度搜索引擎官网
java环境变量配置视频教程: https://ke.qq.com/course/149432?tuin57912c43 有技术问题或者面试方面想学习交流的加我个人微信renlliang2013,本人建了一个微信答疑群, 有学习疑问的同学加我拉你进群。 常用的快捷键操作 Tab 缩进、 Windo…...
盐城网站优化公司/最新热搜新闻
Jquery Pagination 插件原版地址:https://github.com/gbirke/jquery_pagination 因为目前项目里已全面引用 Bootstrap 做为 UI 样式标准,所以稍微修改了下 Jquery Pagination 的代码。 本修改版本基于 2.2.1,在使用上和 1.2 稍微有点差异&…...
知名网站建设怎么样/sem优化师是做什么的
实现了HTTP文件的上传,现在我们看如何实现客户端的文件下载部分 主线程request r requests.head(url)主进程卡在requests.head的请求中 函数起线程调用 reqHeadSize "" def Tre(requestUrl):global reqHeadSizereqHead requests.head(requestUrl)实…...
seo任务优化网站排名/网络营销软件
关键思路:1、BaseActivity作为fragment的容器,里面负责跳转入口openPage和gotoPageopenPage: 打开一个新的fragment,默认都addToBackStackgotoPage: 跳转的之前打开过的fragment。在BaseActivity有一个栈,保存所有已打开过的activ…...
把一个网站挂到网上要怎么做/营业推广促销方式有哪些
将ASP.NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明准备你的ASP.NET Core应用程序安装CentOS7安装.NET Core SDK for CentOS7。部署ASP.NET Core应用程序配置Nginx配置守护服务(Supervisor)这段时间在使用Rabbit…...
济南网站建设哪个好/电话号码宣传广告
1、从微软的网站下载Silverlight3_Tools.exe2、执行Silverlight3_Tools.exe3、像Silverlight2_Tools一样,Silverlight3_Tools还是会在线下载Silverlight_Developer.exe。这个过程非常慢,我们可以从这个链接下载Silverlight3.0的Silverlight_Developer.ex…...