/** * static关键字:修饰属性(实质就是全局变量).方法(无需本类的对象即可调用此方法).类. * 1.static方法只能调用static方法 * 2.static方法只能访问static数据 * 3.static方法不能以任何方式引用this或super */ public class Main { public static void main(String[] args) { A a = new A(); a.val = 2; A a1 = new A(); a1.val =…
Java笔记 -- this 关键字 h2{ color: #4ABCDE; } a{ color: blue; text-decoration: none; } a:hover{ color: red; text-decoration: underline; } pre{ border: solid 1px #CCCCCC; border-radius: 3px; background-color: #F8F8F8; margin: 15px; overflow: auto; font-siz…
  1 11 javascript 克隆对象/数组的方法 clone() 1 demo: code: 1 var Obj; 2 let clone = (Obj) => { 3 var buf; 4 if (Obj instanceof Array) { 5 buf = []; 6 var i = Obj.length; 7 while (i--) { 8 buf[i] = clone(Obj[i]); 9 console.log(`Array buf[k] = ${buf[i]}`); 10…
AOP 如果被代理对象的方法设置了参数 而代理对象的前置方法没有设置参数 则无法拦截到…
java  重写你可以这么理解    因为   方法名和参数类型个数相同  所以这就是重写了    然后  因为是重写  所以  返回值必须相同…
方法的重载 1.方法重载的前提:方法名称必须一样 2.构成重载的条件:参数不一样(参数数量不一样,参数类型不一样) 方法的可变参数 1.可变参数的值的数量可以是0到多个. 2.可变参数调用的时候,没有必要将传递的值封装成一个数组,可变参数会自动为您创建一个合适长度的数组. 3.如果没有传递任何参数,那么会生成一个长度为0的数组--索引越界. 4.可变参数的实参值的类型必须一致. 5.可变参数必须是参数列表的最后一个. 6,父子类也可以实现方法的重载.…
英语里final这个单词大家都知道是"最终的"意思,其实还有一个意思是"不可更改的".在Java里,final关键字作"不可更改的"来解释更合适,即由final修饰的东西是"不可更改的".final可以修饰变量.成员方法和类,还可以修饰方法的参数,但参数归根结底还是变量.下面是详细解释. 作者: 蝉蝉 请尊重作者劳动成果,转载请在标题注明"转载"字样,并标明原文链接: http://www.cnblogs.…
Java8已经推出了好一段时间了,而掌握Java8的新特性也是必要的,如果要进行Spring开发,那么可以发现Spring的官网已经全部使用Java8来编写示例代码了,所以,不学就看不懂. 这里涉及三个重要特性: Lambda 方法引用 Streams ① Lambda 最早了解Lambda是在C#中,而从Java8开始,Lambda也成为了新的特性,而这个新的特性的目的,就是为了消除单方法接口实现的匿名内部类. 在Java8以前的版本中,定义一个Thread是这样的: final int i…
前面通过main方法介绍了方法的定义形式,对于方法的输入参数来说,还有几个值得注意的地方,接下来分别对输入参数的几种用法进行阐述.一个方法可以有输入参数,也可以没有输入参数,倘若无需输入参数,则方法定义的圆括号内部直接留空.以打印当前时间为例,下面的showTime方法没有输入参数也能正常实现: // 没有输入参数,则方法名称后面的圆括号内部留空. // showTime方法的用途是显示当前时间 private static void showTime() { Date date = new D…
/* var box = new Array(); //声明一个数组,空数组 alert(typeof box); //数组属于object类型 var box = new Array('李炎恢', 28, '盐城'); //创建一个数组,并分配了三个元素 //alert(box); alert(box[0]); var box = new Array(10); //创建数组,包含10个元素,必须是数字,必须是1位 box[3] = 'zhangsan'; box[5] = '盐城'; aler…
在Java中如何遍历Map对象   How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. Map<Intege…
问题1 按要求编写java应用程序: 编写西游记人物类,属性有:身高,名字和武器.方法有:显示名字,显示武器. 在main方法中创建两个对象.猪八戒和孙悟空,并分别为他们的两个属性名字和武器赋值,最后分别调用显示名字和显示武器的方法,显示两个对象的属性值. 代码实现 package test; public class monky { double hight; String name; String weapon; void printName() { System.out.println("…
前面介绍了方法的输入参数,与输入参数相对应的则为输出参数,输出参数也被称作方法的返回值,意思是经过方法的处理最终得到的运算数值.这个返回值可能是整型数,也可能是双精度数,也可能是数组等其它类型,甚至允许不返回任何参数.与输入参数类似,输出参数也需要定义数据类型,它的返回值类型在方法名称前面定义,具体位置参见方法的定义形式“访问权限类型 可选的static 返回值的数据类型 方法名称(参数类型 参数名称)”.这里特别要注意,即使方法不返回任何输出参数,也需定义一个名叫void的返回值类型,而不像输…
Java中的关键字final修饰变量.方法.类分别表示什么含义? 先看一个简单的介绍 修饰对象 解释说明 备注 类 无子类,不可以被继承,更不可能被重写. final类中的方法默认是final的 方法 方法不能在子类中被覆盖 类的private方法会隐式地被指定为final方法.final方法不能被子类的方法覆盖,但可以被继承. 变量 称为常量,初始化以后不能改变值. 用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量.实例变量和局部变量,分别表示三种…
在一次对后端返回的对象数组的操作时想通过indexOf()或者includes()的方法来实现对对象数组的去重但是行不通,因为用indexOf()返回的都是-1,一下记录两种对象数组(更具指定属性)去重的方法. ES6的Map方法 unique(arr,u_key) { let map = new Map() arr.forEach((item,index)=>{ if (!map.has(item[u_key])){ map.set(item[u_key],item) } }) return…
数组与方法 一.完成的目标 1. 掌握数组的定义.使用方法.引用传递 2. 掌握方法及其方法的重载 3. 使用方法接收和返回一个数组 4. java新特性对数组的操作支持 二.数组的定义和使用 数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组可以分为一维数组.二维数组.多维数组. 一维数组一维数组可以存放很多数据,这些数据的类型是完全相同的.使用Java数组必须经过两个步骤:声明数组.分配内存给数组. 数据类型 数组名 [] = null; //声明一维数组 也可以使用如下声明:…
封装: 从形式上看, 封装是将数据和行为组合在一个包中, 并对对象的使用者隐藏了数据的实现方式. 对象中的数据称为实例域, 操纵数据的过程称为方法. 对于每个特定的类实例(对象)都有一组特定的实例域值.这些值的集合就是这个对象的当前状态(state). 实现封装的关键在于不能让类中的方法直接的访问其他类的实例域.程序仅通过对象的方法与对象数据进行交互. 类之间的关系: 依赖(uses-a): 如果一个类的方法操作另一个类的对象, 就可以说一个类依赖于另一个类.应该尽可能将互相依赖的二类减至最低.…
相关知识: 有些SQL操作,例如SUM,只会从数据库返回一个数据值,而不是多行数据 尽管也可以使用ExecuteReader()返回一个DataReader对象,代表该数据值,但是使用Command对象的ExecuteScalar方法更加方便 ExecuteScalar()方法:该方法只能执行SELECT语句,通常用于统计,例如返回符合条件的记录个数 代码示例: using System; using System.Collections.Generic; using System.Linq;…
数组定义和使用 数组与方法的结合使用 main函数传参…
class Demo { public static int sum(int ... data) { //此处可以传递一个数组,也可以是多个参数 int sum = 0; for (int i : data) sum = sum + i; return sum; } } public class Variable { public static void main(String[] args) { System.out.println(Demo.sum(1,2,3,4,5)); System.o…
第21条讲述使用可变参数的函数average.该函数可处理任意数量的参数并返回这些参数的平均值. 如何创建可变参数的函数 1.实现固定元数的函数 书上的版本 function averageOfArray(a){ for(var i=0,sum=0,n=a.length;i<n;i++){ sum+=a[i]; } return sum/n } 使用ES5 Array.reduce方法的版本 function averageOfArrayES5(a){ if({}.toString.call(a…
当你写了一个方法,这个方法需要对传进来的参数进行加工,但是不确定传递的参数的数量的时候 比如,public void int jiafa(int a,int b){a+b;} jiafa(1,2) 但是突然需求改了,要传递4个参数,那么就需要改方法.jiafa(1,2,3,4) 此时可以使用params public void int jiafa(params in[] a){ a.Sum();} params关键字的作用 (1).使用 params关键字可以指定一个方法参数,该方法参数的数目可…
关键字 描述 abstract 抽象方法,抽象类的修饰符 assert 断言条件是否满足 boolean 布尔数据类型 break 跳出循环或者label代码段 byte 8-bit 有符号数据类型 case switch语句的一个条件 catch 和try搭配扑捉异常信息 char 16-bit Unicode字符数据类型 class 定义类 const 未使用 continue 不执行循环体剩余部分 default switch语句中的默认分支 do 循环语句,循环体至少会执行一次 doub…
现在编程的思想分成了两大阵营,面向过程和面向对象.现在谈谈啥是面向对象. 作为一只单身狗,谈“对象”还是很伤心很伤心的(:′⌒`)...... 先看看百度怎么说? 好吧,百度说的太抽象,我换个简单的说法. 我们的世界可以看成是一个个独立的事物组成的.看看你的周围,你的电脑,你的手机,你的水杯......任何东西都是一个对象,我们就可以大致的说“一件东西”约等于“一个对象”. 什么是类呢?类有点像数学里的“集合”,很多东西都有相似的特征,我们把它们的共同特征拿出来,抽象化出一个类.类,就是一个模子…
最近在看<Thinking in Java>这本书,之前一直对类及对象的初始化过程不太清楚,只是感到很模糊.看了这本书关于对象初始化的部分,终于搞明白了. 废话不多说,先上两个例子,实例摘自 <Thinking in Java>. Test1: package com.westward; /** * @desc <Thinking in Java> Demo Page 115 * */ public class Demo14 { public static void m…
此方法返回的会是一个全新的数组 所以并不会像java里的shuffle函数一样返回一个引用一样的数组 思路如下: 1.新建一个函数传入需要打乱下标的数组 2.获取数组的长度 3.新建一个用来保存并且返回结果的数组 4.根据数组的长度新建一个随机数(随机数记得要向下取整不然会下标越界) 5.循环添加到结果数组里面 代码如下: <script type="text/javascript"> var testArr = new Array("中国","…
this关键字 一. 基本作用 在当前方法内部,获得当前对象的引用.在引用中,调用方法不必使用this.method()这样的形式来说明,因为编译器会自动的添加. 必要情况: 为了将对象本身返回 java public class Leaf{ int i = 0; Leaf increment(){ i++; return this; //明确指出当前对象引用,返回当前对象 } } 引用外部工具传递方法时,为了将自身传递到外部方法 class Peeler{ static Apple peel(…
1.java中的变量先声明.再赋值.再使用.(局部变量必须初始化,成员变量默认初始化) 2.基本类型之外的所有类型都是引用类型.基本类型占一块内存,引用类型占两块(所有new出来的东西装在堆内存,因为是堆是在运行时动态分配内存). 方法只有在调用的时候才占用内存. 四块:(待完善) code seg代码区:存放类(类的方法) data seg数据区:存放静态变量和字符串常量 stack栈内存:存放基本类型变量和局部变量(方法参数和方法内生成的变量)(局部变量都分配在这) heap堆内存:存放ne…
属性: 公有属性  (属于类,每个类一份) 普通属性  (属于对象,每个对象一份) 私有属性    (属于对象,跟普通属性相似,只是不能通过对象直接访问) 方法:(按作用) 构造方法 析构函数 方法:(按类型) 普通方法 私有方法(方法前面加两个下划线) 静态方法 类方法 属性方法 静态方法 @staticmethod静态方法,通过类直接调用,不需要创建对象,不会隐式传递self 类方法 @classmethod类方法,方法中的self是类本身,调用方法时传的值也必须是类的公有属性,就是说类方法…
合适的方法放在合适的类之中. 设计中,分解出应该具有哪些对象(面向对象),不要再想步骤了(这是面向过程).设计过程: step1:问题中有哪些类和对象(找名词,之后区分是类还是属性) step2:这些类和对象的属性和方法 step3:类和类之间具备的关系(下面五种关系) 属性(成员变量,attribute)和方法(成员方法,method)分别表示静态属性和动态属性. 设计的时候,用到的关系 1.关联关系:一般是一个类的方法里是另外一个类的对象.如一个教室的“teach()”方法中以研究生为参数.…