垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制只回收堆内存中的对象,不回收数据库连接.IO等资源,所以才要在finally中关闭 要回收,但什么时候回收是不一定的,即使显式的调用了System.gc() 垃圾回收程序在真正回收之前,会先调用被回收对象的finalize()方法,这是Object的protected方法,每个类都要继承的,这个方法…
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ public static void main(String[] args) { ProcessArray pa=new ProcessArray(); int[] target={5,35,-2,35,-21}; pa.process(target, new Command(){ //匿名内部类…
final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 局部变量 修饰方法:该方法不可被重写 final修饰成员变量 final修饰成员变量,必须显式的指定初始值,系统不会为final成员进行隐式初始化,不能在初始化前访问. 因为,不管是类变量还是实例变量,都有个初始化的过程,初始化赋值后便不能再赋值,如果不显式的指定初始值,那么这些变量就没有存在的意义…
static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静态变量 static修饰的变量为静态变量 在创建对象时,静态变量位于方法区中,而非像实例变量一样,位于堆内存中 一个类的所有对象共用相同静态变量,通过类名来调用静态变量,通过实例来调用虽然也符合语法,但不推荐 示例:静态变量的一个用法 class Employee{ private static i…
C#学习笔记——面向对象.面向组件以及类型基础 目录 一 面向对象与面向组件 二 基元类型与 new 操作 三 值类型与引用类型 四 类型转换 五 相等性与同一性 六 对象哈希码 一 面向对象与面向组件 在面向对象出现之前,程序是由一系列相互关联的模块和子程序组成,编程采用过程的方式,代码中有一条主线,决定需要完成哪些步骤.后来,面向对象出现了,它是对软件领域的杰出贡献,是软件设计中的里程碑.在软件发展速度远远落后硬件发展速度的时代,它的出现无疑是一种激励.它把程序想象成一系列的相互交互的对象,…
面向对象(Methods, Interfaces) Method method是附属在一个给定的类型上的,他的语法和函数的声明语法几乎一样,只是在func后面增加了一个receiver(也就是method所依从的主体). 语法 func (r ReceiverType) funcName(parameters) (results) 示例 type rectangle struct { width float64 heigth float64 } func (receiver rectangle)…
Java程序设计基础之面向对象(上) (自适应学习进度而进行记录的笔记,希望有一些小小的用处吧(^∀^●)ノシ) (新人上路,望多指教,如有错误,望指正,万分感谢(o゚v゚)ノ) 目录 一.面向对象 (一)面向对象程序设计(Object Oriented Programming,OOP) (二)包与类(package & class) (三)对象.方法与属性(Object & Methods & Properties) (四)方法(Method) (五)构造器(Constructo…
Java程序设计基础之面向对象(下) (补充了上的一些遗漏的知识,同时加入了自己的笔记的ヾ(•ω•`)o) (至于为什么分P,啊大概是为了自己查笔记方便(?)应该是("` 3′")) (但是u1s1,学完了面向对象后反而更懵逼,下一步先刷算法吧,然后Java的学习也跟上,今年争取考完二级证书(o-ωq)).oO 困) 目录 一.面向对象 (一)快捷键 (二)继承 (三)封装 (四)多态 (五)Object类 (六)关键字 (七)操作符 (八)抽象类 (九)接口 (十)内部类 一.面向对…
Interfaces and abstract classes provide more structured way to separate interface from implementation. the abstract class, which is a kind of midway step between an ordinary class and an interface. Abstract classes and methods abstract void f(); A cl…
面向对象的模块化编程 模块是一个独立的JS文件,模块文件可以包含一个类定义.一组相关的类.一个实用函数库.一些待执行的代码 模块化的目标:支持大规模的程序开发,处理分散源代码的组装,并能让代码正确执行;不同的模块必须避免修改全局上下文,模块应当尽可能少的定义全局标识; 在模块创建过程中避免污染全局变量的一种方法是使用一个对象作为命名空间('容器'); 为了保持干净的全局命名空间,将'容器'类定义为一个单独的全局对象,如:var sets = {}; 这个sets对象就是模块的命名空间,并且将每个…
封装 面向对象的三大特征: 封装 继承 多态 封装: 将对象的状态信息隐藏,不允许外部程序直接访问 通过该类提供的方法来访问和操作 有啥用: 隐藏类的实现细节 在方法中加入控制逻辑,限制对成员变量的不合理访问,比如把年龄设置为1000岁 进行数据检查,有利于保证对象信息的完整性 便于修改,提高代码的可维护性 访问控制符: 访问控制符有四个: private 省略 public protected private: 可用于成员变量.方法.构造方法 表明被修饰成员只能在这个类的内部被访问 省略: 可…
什么是包装类? 在Java里一切都是对象,除了Java中的基本数据类型(byte,short,int,long,char,float,double,boolean)不是面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类对应关系 包装类均位于java.lang包 包装类的用途 a.作为和基本数据类型对应的类类型存在,…
python是一种面向对象的语言.本文介绍如何用python进行面向对象的编程. 首先我们说下对象和类,类是一种类型的定义,对象是类的实例. 一.内置对象类型(内置类) 其实我们前面已经大量用到了对象,如字符串.列表.字典等,这些对象的类型是python的内建对象类型. 比如: a=[] 这其实就是创建了一个空的列表对象,并将它赋值给变量a,变量a就指向了一个列表对象. 那列表对象对应的类是什么呢?其实列表对象对应的类名是list. 我们还可以通过类来创建对象,看下例子: >>> pri…
Polymorphism[多态] 简述: 面向对象多态性指的是:发送消息给某个对象,让该对象自行决定响应何种行为. 通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用 多态的三个前提条件: 多态发生在有继承关系的类之间 子类要对超类方法进行重写 父类引用指向子类对象 要了解多态,先了解casting(对象转型)的概念. Casting[对象转型] 1.基类的引用类型变量可以是指向子类的对象. 2.一个基类引用不能访问子类对象新增加的成员(属性和方法 ) 3.可以使用引用变量instace…
一.匿名对象 (1)没有名字的对象 (2)应用场景   A:调用方法,仅仅只调用一次的时候. class Car { //描述属性.颜色,轮胎数. String color; int number; //描述行为. void run() { System.out.println(color+":"+number); } } class CarDemo { public static void main(String[] args) { //采用匿名对象调用方法 new Car().ru…
一.对象和类 类(class):类是用于描述现实事物的,它将现实事物进行抽象化,模板化描述.将事物的特点(属性)和行为封装在其中.比如小汽车的图纸,图纸就是小汽车的模版.图纸上画着小汽车的各种特点和功能要求.. 对象(object):对象是现实生活中存在的具体的实例.个体.即生活看到每一个事物,以及我们想象中的任务抽象的概念,都是某一类事物的实例和个体.而这些个体都属于某一类事物,即这些个体都是某一类事物中的具体的实例.比如,小汽车就是一类事物,而小汽车又是基于小汽车图纸制造出来的真实个体.因此…
面向对象 类:成员变量(属性) 方法(操作成员变量) 出一个场景:玩过游戏.主人公,进入了一个场景,有10个小怪物是一样的.有攻击力,血(100格).如果小怪物有多个数值需要管理,小怪物的血量.小怪物出现在屏幕的地点. {"blood":100,"location":"10,10"}[[100,(10,10)]] 10 个小怪物.记住10个小怪物所有的变量在哪里,怎么操作? 写一些函数,来操作这些数据.函数你实现的时候,你觉得需要实现哪些功能?…
什么是包装类? 在Java里一切都是对象,除了Java中的基本数据类型(byte,short,int,long,char,float,double,boolean)不是面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类. 包装类对应关系 包装类均位于java.lang包 包装类的用途 a.作为和基本数据类型对应的类类型存在,…
自:https://www.jb51.net/article/120073.htm 首先要说,methods,watch和computed都是以函数为基础的,但各自却都不同 而从作用机制和性质上看,methods和watch/computed不太一样,所以我接下来的介绍主要有两个对比: 1.methods和(watch/computed)的对比 2.watch和computed的对比 作用机制上 1.watch和computed都是以Vue的依赖追踪机制为基础的,它们都试图处理这样一件事情:当某…
ChromeDriver installation failed Error with http(s) request: Error: connect ETIMEDOUT 172.217.160.80 ChromeDriver  被墙了 方法一: npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver 方法二: cnpm install chromedriver 方法三:…
相关文章: 面向对象的程序设计(一) — 创建对象 http://www.cnblogs.com/blackwood/archive/2013/04/24/3039523.html 继承 继承是OO语言中的一个最为人津津乐道的概念. 许多OO语言都支持两种继承方式:接口继承和实现继承. 接口继承只继承方法签名,而实现继承则继承实际的方法. 如其所述,由于函数没有签名,在ECMAScript中无法实现接口继承. ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的. 原型链…
面向对象初识 python中一切皆对象. 类有两种: 新式类:在py3中所有类都是新式类 经典类:在py2中只有类本身继承了object类才叫做新式类,默认是经典类 class Person: country = "中国" # 静态属性 def __init__(self, name, age, sex): # 初始化对象 在实例化时自动将对象/实例本身传给__init__的第一个参数. self.name = name self.age = age self.sex = sex de…
一.面向对象的编程 面向对象程序设计--Object Oriented Programming,简称oop,是一种程序设计思想.二.面向对象的特性类:class类,对比现实世界来说就是一个种类,一个模型.一个类即是对一类拥有相同属性的对象的抽象.蓝图.原型.在类中定义了这些对象的都具备的属性(variables(data)).共同的方法. 对象:object对象,也就是指模型造出来的具体的东西.一个对象即是一个类的实例化后实例,一个类必须经过实例化后方可在程序中调用,一个类可以实例化多个对象,每…
类.对象类:模子对象:产品(成品) 蛋糕(对象) 模子(类) Array 类 arr 对象 Array.push(); 错 arr.push(); 对 new arr(); 错 原型prototype 是加到类上面,而不是对象. 混合方式构造对象:方法都是相同的,属性都是不同的.方法 => 函数属性 => 变量 用 构造函数 加 属性 (属性放到构造函数里实现) 用 原型 加 方法 (方法放到原型里实现) 对象命名规范: 类名首字母大写 (例如系统自带的 Array / Date , 所以自己…
前言 1.三大编程范式: 面向过程编程 函数式编程 面向对象编程 2.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 2.从上述的指令中提取重复的代码块或逻辑,组织到一起,便实现了代码重用,且代码由无结构走向了结构化,创建程序的过程变得更具逻辑性 3.我们定义函数都是独立于函数外定义变量,然后作为参数传递给函数,这意味着:数据与动作是分离的 4.如果我们把数据和动作内嵌到一个结构(函数或类)里面,那么我们就有了一个“对象系统”(对象就是数据与函数整合到一起的产物) 3.面向…
可以创建几个对象? n多个:大部分的类,都可以随意创建对象,只要内存不爆掉 1个:比如单例类 有限的几个:采用单例类的设计思路,可以只允许创建少数的几个特定的对象:还有就是枚举类. 创建少数几个对象,不用枚举类实现 package testpack; public class Test1{ public static void main(String[] args) { Season s=Season.getSeason("秋天"); System.out.println(s.getN…
内部类 内部类就是把一个类写在另一个类的内部 用途: 如果一个类只希望它被某一个类访问,那么可以把它定义在另一个类的内部,并用private修饰 内部类可以访问它所在外部类的private成员:但所在的外部类的成员不能直接访问内部类的数据 内部类适合于创建那些仅需要一次使用的类 内部类除了可以用省略和public外,还可以用private/protected/static修饰 非静态内部类不能拥有静态成员 内部类的分类 成员内部类: 非静态内部类:没用static修饰 静态内部类:用static…
抽象方法与抽象类 抽象方法用abstract修饰,没有方法体部分,连花括号都不能有: 抽象方法和抽象类都用abstract修饰 包含抽象方法的类一定是抽象类:但不包含抽象方法的类也可以是抽象类 不能创建抽象类的实例,抽象类里可以有构造方法,但只是用来给子类调用的 抽象类可以包含类的5大要素:成员变量.抽象方法或非抽象方法.构造器.初始化块.内部类(接口.枚举) 抽象方法的来源: 自己定义了一个抽象方法 继承了一个抽象父类,却没有全部实现其抽象方法 实现了一个接口,但没有全部实现其抽象方法 注意区…
包装类 基本类型-->包装类 byte-->Byte short-->Short int-->Integer long-->Long char-->Character float-->Float double-->Double boolean-->Boolean 基本类型转为包装类型: 自动装箱Autoboxing:将基本类型直接赋值给包装类变量或者Object类变量 包装类型转为包装类型: 自动拆箱AutoUnboxing:把包装类对象直接赋值给基本…
初始化代码块 在18篇-类的基本要素中说到,类的三大成员:成员变量.构造方法.方法,初始化代码块是类的第4个成员 初始化块用于对类或者对象的初始化, 一个类的初始化块可以有0-多个,按先后顺序执行 跟实例方法-->类方法.实例变量-->类变量一样,也可以用static修饰初始化块,静态初始化块-->非静态初始化块 初始化块总是先于构造器执行 非静态初始化块 非静态初始化块相当于是对构造器的补充,用于创建对象时给对象的初始化,在构造器之间执行 如果一段初始化代码对所有对象完全相同,且无需接…