面向对象

1.面向对象和面向过程的区别:

 

两者都是软件开发思想,先有面向过程,后有面向对象。在大型项目中,针对面向过程的不足推出了面向对象开发思想。
区别
1. 编程思路不同: 面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类、属性及其方法,然后通过实例化类、执行方法来完成功能。
2. 封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能。
3. 面向对象具有继承性和多态性,而面向过程没有继承性和多态性,所以面向对象优势是明显。

2.类:

 

类:具有相同特征和共同行为对象的集合。是人类脑海中一个抽象的概念,代表的是一种"共性".
类的组成部分:
属性:外部特征
方法:功能行为。
构造方法:为成员变量初始化。

 

如何定义一个类:

 

[修饰符] class 类名{
//属性
//构造方法
//方法
}

3.如何访问类中成员:

 

类中的成员:属性和方法

 

1.先创建对象(创建实例),使用new关键字创建对象
类名 对象名 = new 类名();
Dog dog = new Dog();

 

访问属性:对象名.属性
dog.name="旺财";

 

访问方法(调用方法)
1.静态方法(使用static修饰方法):类名.方法名()
2.实例方法(非static修饰的方法):对象名.方法名()

4.变量的作用域:

 

变量声明的位置不同会导致其作用域不同。
局部变量:在方法内部声明的变量,其作用域仅限于当前方法使用。
成员变量:在类中声明的属性,其作用域可以在当前类中使用。

 

区别:
1.作用域不同:成员变量的作用域是在整个类体,局部变量的作用域在当前方法
2.是否有默认初始值:成员变量是有默认的初始值,局部变量没有默认初始值。
 eg:int类型默认初始值为0 double类型默认初始值为0.0 boolean类型默认为false String默认为null
3.是否能使用修饰符(public/private/protected/默认):成员变量:可以添加public等修饰符,局部变量不能。
4.在内存中保存的位置不同:成员变量保存到堆中,局部变量保存到栈。

5.构造方法:

构造方法的特征:
1.方法名必须与类名相同
2.没有返回值类型
构造的作用:为成员变量赋初始化值
构造方法也是可以重载的。

如何调用:使用new关键字进行调用。

6.this关键字:

 

this关键字:代表当前对象本身
1.用于区分成员变量和局部变量。
2.可以使用this调用方法或属性.
this.方法名()或this.属性
3.可以使用this调用构造方法,必须作为构造方法的第一行语句。

7.值传递和引用传递:

 

数据类型可以分为基本数据类型和引用数据类型
基本数据类型:
整型: byte,short,int,long
浮点型: float,double
字符型: char
布尔型: boolean
引用数据类型:类,数组和接口

 

如果将基本类型作为方法参数属于值传递:方法执行结束后不会保留执行结果。
如果将引用数据类型作为方法参数,属于引用传递,方法执行结束后会保留执行结果。

8.内存结构:

8.1 栈:

在方法中声明的局部变量保存在栈中,方法执行结束后栈中数据会被回收

8.2 堆:

堆中保存的是对象的信息,使用new关键字创建的对象信息。堆中信息会被java的垃圾回收器回收。

8.3 方法区

方法区保存的是类的信息和静态变量

9.static关键字:

9.1使用static修饰变量:

static修饰的变量为静态变量,类变量
访问方式:类名.变量名(推荐)
对象名.变量名

成员变量和全局变量的区别:
* a.在计算机内存中保存的位置不同:
* 成员变量保存在堆中,全局变量保存在方法区
* b.保存的份数不同
* 成员变量每new一次都开辟空间,保存多份。
* 全局变量只有1份
* c.访问方式不同
* 成员变量:对象名.属性,可以使用this关键字。
* 全局变量:类名.属性(推荐)
* 对象名.属性
* d.创建时间不同:
* 成员变量:只有使用new关键字创建对象时才会在堆中为其分配空间
* 全局变量:在类加载时在方法区中分配空间。

9.2 使用static修饰方法:

 

使用static关键字可以修饰方法:静态方法或类方法
* 特点:静态方法中无法访问非静态的成员变量或方法;但非静态的方法中是可以访问静态的成员
* 访问方式:
* 类名.方法名(推荐)
* 对象名.方法名

9.3  使用static修饰代码块:

 

使用static修饰代码块,静态代码块
* 语法:static{
* //代码
* }
* 执行过程:在类加载时执行静态代码块。静态代码块>普通代码块>构造方法。只会执行1次。
*
* 代码块:使用花括号包含的代码。使用比较少。不需要显式调用。
* 代码块的执行顺序:在创建实例时执行。代码块在构造方法之前执行,并且按照顺序执行,每创建一个对象就会执行1次。执行多次。
*
* 类中代码的执行顺序:
* 静态代码块>代码块>构造方法>静态方法或实例方法。
* 静态的方法中只能访问静态变量, 非静态的方法可以访问静态或非静态的变量

10.package和import关键字:

package:

package关键字主要用于声明包。
java中的包:类似文件夹
*作用:1.分门别类进行存放数据,方便分类和管理。2.避免命名冲突。
*包的命名规范:所有字母都是小写,多级包名之间利用.进行分割
* 常见命名:顶级域名.一级域名.项目名.功能包名
* 顶级域名:com(company)公司,cn(china):中国大陆 ,hk:中国香港 ,tw:中国台湾,org:组织结构,edu:教育,net:网络服务机构...
* 一级域名:badu,bjsxt,zzsxt
* cn.zzsxt.oa.test
*java中常见的包: java.lang包之外的其他包下的类,使用时需要导包。
* java.lang包:java核心类库,String,System,Math... 该包下的类可以直接使用,无需导包。
* java.util包:工具类。 Arrays,Scanner...
* java.io包:i(input)/o(output)和java中流的输入和输出相关的类库。
* java.net包:网络编程相关的类库。
* java.sql包:与数据库操作相关的类库。
* java.text包:国际化或格式化输出相关的类库。
* java.awt包/javax.swing包:图形化界面相关的类库
*
*声明包:使用package关键字,必须放在该类的第一行。
*语法: package 包名; eg:cn.zzsxt.oop7;

import:

导入包: import关键字,在使用非当前包下的其他包下的类时需要导包
*导包快捷键:ctrl+shift+o;
* 方式一: import 包名.*;将整个包导入。 eg: import cn.zzsxt.oop6.*;
* 方式二(推荐): import 包名.类名; eg:import cn.zzsxt.oop6.TestStatic;
*
*直接使用全类名进行访问: 包名.类名;
*cn.zzsxt.oop6.TestStatic testStatic = new cn.zzsxt.oop6.TestStatic();
*特殊场景:不同的包下存在相同的类名。
* import java.util.*;
import java.sql.*;
java.util.Date date = new java.util.Date();

 

静态导入:

 

package cn.zzsxt.oop7;
//import static java.lang.Math.*;
import static java.lang.Math.PI;
import static java.lang.Math.random;
/**
* 静态导入:JDK1.5之后的新增特性。
* 语法: import static 包名.类名;
* 作用:如果使用静态导入某个类或类中属性和方法,可以直接使用该类中的静态属性或静态方法。
*/
public class StaticImport {
public static void main(String[] args) {
// System.out.println(Math.PI);
// double rand = Math.random();
// System.out.println(rand);
System.out.println(PI);//使用java.lang.Math类中的静态属性
System.out.println(random());//使用java.lang.Math中的静态方法
}
}

资源下载链接为: https://pan.quark.cn/s/abbae039bf2a 无锡平芯微半导体科技有限公司生产的A1SHB三极管(全称PW2301A)是一款P沟道增强型MOSFET,具备低内阻、高重复雪崩耐受能力以及高效电源切换设计等优势。其技术规格如下:最大漏源电压(VDS)为-20V,最大连续漏极电流(ID)为-3A,可在此条件下稳定工作;栅源电压(VGS)最大值为±12V,能承受正反向电压;脉冲漏极电流(IDM)可达-10A,适合处理短暂高电流脉冲;最大功率耗散(PD)为1W,可防止器件过热。A1SHB采用3引脚SOT23-3封装,小型化设计利于空间受限的应用场景。热特性方面,结到环境的热阻(RθJA)为125℃/W,即每增加1W功率损耗,结温上升125℃,提示设计电路时需考虑散热。 A1SHB的电气性能出色,开关特性优异。开关测试电路及波形图(图1、图2)展示了不同条件下的开关性能,包括开关上升时间(tr)、下降时间(tf)、开启时间(ton)和关闭时间(toff),这些参数对评估MOSFET在高频开关应用中的效率至关重要。图4呈现了漏极电流(ID)与漏源电压(VDS)的关系,图5描绘了输出特性曲线,反映不同栅源电压下漏极电流的变化。图6至图10进一步揭示性能特征:转移特性(图7)显示栅极电压(Vgs)对漏极电流的影响;漏源开态电阻(RDS(ON))随Vgs变化的曲线(图8、图9)展现不同控制电压下的阻抗;图10可能涉及电容特性,对开关操作的响应速度和稳定性有重要影响。 A1SHB三极管(PW2301A)是高性能P沟道MOSFET,适用于低内阻、高效率电源切换及其他多种应用。用户在设计电路时,需充分考虑其电气参数、封装尺寸及热管理,以确保器件的可靠性和长期稳定性。无锡平芯微半导体科技有限公司提供的技术支持和代理商服务,可为用户在产品选型和应用过程中提供有
资源下载链接为: https://pan.quark.cn/s/9648a1f24758 在 JavaScript 中实现点击展开与隐藏效果是一种非常实用的交互设计,它能够有效提升用户界面的动态性和用户体验。本文将详细阐述如何通过 JavaScript 实现这种功能,并提供一个完整的代码示例。为了实现这一功能,我们需要掌握基础的 HTML 和 CSS 知识,以便构建基本的页面结构和样式。 在这个示例中,我们有一个按钮和一个提示框(prompt)。默认情况下,提示框是隐藏的。当用户点击按钮时,提示框会显示出来;再次点击按钮时,提示框则会隐藏。以下是 HTML 部分的代码: 接下来是 CSS 部分。我们通过设置提示框的 display 属性为 none 来实现默认隐藏的效果: 最后,我们使用 JavaScript 来处理点击事件。我们利用事件监听机制,监听按钮的点击事件,并通过动态改变提示框的 display 属性来实现展开和隐藏的效果。以下是 JavaScript 部分的代码: 为了进一步增强用户体验,我们还添加了一个关闭按钮(closePrompt),用户可以通过点击该按钮来关闭提示框。以下是关闭按钮的 JavaScript 实现: 通过以上代码,我们就完成了点击展开隐藏效果的实现。这个简单的交互可以通过添加 CSS 动画效果(如渐显渐隐等)来进一步提升用户体验。此外,这个基本原理还可以扩展到其他类似的交互场景,例如折叠面板、下拉菜单等。 总结来说,JavaScript 实现点击展开隐藏效果主要涉及 HTML 元素的布局、CSS 的样式控制以及 JavaScript 的事件处理。通过监听点击事件并动态改变元素的样式,可以实现丰富的交互功能。在实际开发中,可以结合现代前端框架(如 React 或 Vue 等),将这些交互封装成组件,从而提高代码的复用性和维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值