垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 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…
前文简单介绍了如何通过 json-20141113.jar 提供的功能获取 JSON 的数据,敬请参阅:Java学习-028-JSON 之二 -- 数据读取. 了解学习过 JQuery 的朋友都知道,JQuery 通过 cssSelector 获取页面元素对象非常简单,那么 JSON 数据的获取是否也可以如此轻松简便呢?答案是可以的.此文就此进行相应的方法封装,通过此方法可以获取 JSONObject,JSONArray,value 的字符串.对应的 cssSelector 我做出了如下的规则限…
面向对象是相对面向过程而言面向过程:强调的是功能行为面向对象:将功能封装进对象,强调具备了功能的对象 不论面向对象还是面向过程都是一种开发思想而已.举一个例子来理解面向对象和面向过程把大象装进冰箱分三步 1.打开冰箱 2.存储大象 3.关闭冰箱看到上面的步骤就是面向过程的思想而面向对象思想 1.冰箱.打开 2.冰箱.存储 3.冰箱.关闭所有动作都是冰箱具有的功能. 面向对象特征:封装,继承,多态 实际开发:找对象,建立对象,使用对象,维护对象的关系 类和对象的关系类:对现实生活中事物的描述对象:…
面向对象三大特征:封装.继承.多态. 封装性在Java当中的体现: 方法就是一种封装 关键字private也是一种封装 封装就是将一些细节信息隐藏起来,对于外界不可见. 问题描述:定义Person的年龄时,无法阻止不合理的数值被设置进来. 解决方案:用private关键字将需要保护的成员变量进行修饰 一旦用了private进行修饰,那么本类当中任然可以随意访问.但是:超出了本类范围之外就不能再直接访问了. 间接访问private成员变量,就是定义一对儿Getter/Setter方法 注意事项:…
面向对象的三大特征:封装性.继承性.多态性. 继承 继承是多态的前提 ,如果没有继承,就没有多态. 继承主要解决的问题就是:共性抽取. 继承关系当中的特点: 子类可以拥有父类的“内容” 子类还可以拥有自己的专有的内容. 继承的格式: 在继承的关系中,”子类就是一个父类“.也就是说,子类可以被当做父类看待.例父类是员工,子类是讲师,那么“讲师就是一个员工”.关系:is-a. 定义父类的格式:(一个普通的类的定义) public class 父类名称{ //... } 定义子类的格式: public…
面向对象三大特征:封装性.继承性.多态性之多态性. extends继承或者implemens实现,是多态性的前提. 例如:小菜是一个学生,但同时也是一个人.小菜是一个对象,这个对象既有学生形态,也有人类形态.一个对象拥有多种形态,这就是:[对象的多态性] 多态的格式与使用 代码当中体现多态性,其实就是一句话:父类引用指向子类对象. 格式: 分类名称 对象名 = new 子类名称(); 或者: 接口名称 对象名 = new 实现类名称(); 访问成员变量的两方式 1.直接通过对象名称访问成员变量:…
面向对象的使用与注意事项 面向过程:当需要实现一个功能的时候,每一个具体的步骤都需要亲力,详细处理每一个细节面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事. 类与对象的关系 类是对一类事物的描述,是抽象的. 对象是一类事物的实例,是具体的. 类是对象的模板,对象是类的实例. 定义一个类,用来模拟“学生”事物.其中就有两组成部分: 属性(是什么): 姓名 年龄 行为(能做什么): 吃饭 睡觉 学习 对应到Java的类当中:成员变量(属性): Stri…
封装 面向对象的三大特征: 封装 继承 多态 封装: 将对象的状态信息隐藏,不允许外部程序直接访问 通过该类提供的方法来访问和操作 有啥用: 隐藏类的实现细节 在方法中加入控制逻辑,限制对成员变量的不合理访问,比如把年龄设置为1000岁 进行数据检查,有利于保证对象信息的完整性 便于修改,提高代码的可维护性 访问控制符: 访问控制符有四个: private 省略 public protected private: 可用于成员变量.方法.构造方法 表明被修饰成员只能在这个类的内部被访问 省略: 可…
思考的两种方式: 举例: 把大象放到冰箱里 一.面向过程 :[打开冰箱->把大象放里面->关上冰箱门]面向过程注重的是过程,也就是(动作[函数]),然后按照动作依次去执行就好了. 代表语言是C语言 二.面向对象:找到冰箱,做了封装[冰箱打开,冰箱存储,冰箱关闭]面向对象强调的是对象,面向对象强调的是对象(实体).冰箱就是一个对象,本身具有的功能有:打开.关闭.  存储. 代表语言:C++,java,C# 面向对象的特点: 1.面向对象是常见的一种思想,符合人们的思考习惯. 2.面向对象的出现,…
在描述事物的时候,该事物已存在就具备的一些内容,这是我们就可以把它们都定义在构造函数中,那么什么是构造函数呢? 构造函数就是构建创造对象时调用的函数,它可以给对象进行初始化.构造函数与类名相同,第一个字母大写.一个类中如果没有定义过构造函数,那么该类一定会有一个默认的空参数的构造函数.如果定义了指定的构造函数,那么系统默认的构造函数就没有了,如果还要用到就需要重新定义一次.而且,构造函数不唯一,可以有多个,用于不同的对象进行针对性的初始化.多个构造函数在类中是以重载(后面会讲到)的形式体现的.下…
面向对象三大特征之一 封装  继承  多态   封装性就是把类(对象)的属性和行为结合成一个独立的相同单位,并尽可能隐蔽类(对象)的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系.   封装的特性使得类(对象)以外的部分不能随意存取类(对象)的内部数据(属性),保证了程序和数据不受外部干扰且不被误用. 封装的步骤:…
1.面向对象程序设计的三大基本特征:继承(Inheritence).封装(Encapsulation).多态(Polymorphism) 2.封装:类包含数据与方法,将数据与方法放在一个类中就构成了封装 3.如何定义类: 修饰符 class  类的名字 { //类的内容(包含了属性与方法) } 4.方法:如何定义方法 修饰符 返回类型 方法名称([参数1,参数2,参数3...]) { //方法体 } 5.main方法是整个Java程序入口点,如果类的定义中没有main方法,则程序无法执行 6.方…
面向对象特性一.封装(Encapsulation)封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式.好处: 将变化隔离 便于使用 提高复用性 提高安全性封装原则: 将不需要对外提供的内容都隐藏起来 把属性都隐藏,提供公共方法让其访问 例如: class Person { private String name; private String sex; private int age; public getName() { return name; } public setName(St…
1.如果一个类包含了属性跟方法,那么该类的每一个对象都具有自己的属性,但无乱一个类有多少个对象,这些对象共享同一个方法. 2.关于方法参数传递的总结: 对于Java中的方法参数传递,无论传递的是原生数据类型,还是引用类型,统一是传值(pass by value) public class ParamTest { public static void main(String[] args){ Person person = new Person(); person.change(person);…
package practice;/** * @功能 创建动物类,对动物的属性进行封装 * @author square 凉 * */public class Animal { /**  * 动物姓名  */ private String animalName; /**  * 种类  */ private String type; /**  * 年龄  */ private int animalAge; /**  * 通过geter和set而方法进行封装  * @return  */ publi…
1.类中的属性又叫做成员变量(member variable),属性用英文表示为property或者attitude 2.对象(Object)又叫做实例(Instance),生成一个对象的过程又叫做类的实例化. 3.命名约定 a)类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都大写,中间不适用任何的连接符 b)方法:首字母小写,如果一个类名由多个单词构成,那么第一个单词的首字母小写,后面第一个首字母都大写,中间不适用任何的连接符 c)属性:命名约定与方法相同,比如age,age…
前言:java面向对象中的知识可以说是整个java基础最核心的部分,不知不觉已经学完快2个月了,是时候复习一波了,刚开始学习的时候被绕的很懵逼,这次总结完毕之后有了很多新的感悟,这就是所谓的每有会意,便欣然忘食吧!哈哈~ 1,什么是类?什么是对象? 简单来说,类是抽象出某一类事物的行为和特征,并进行的封装,特征称之为属性,行为称之为方法; 对象就是这一类的具体实例,对象拥有这个类的所有属性和方法 举个例子: 所有的人是一个类,人所具有的属性:身高和体重...,人具有的方法:吃饭,睡觉.. 具体到…
面向对象的思想一直指导者我们软件的分析.设计与开发.java语言是一种面向对象的语言.在学习java之前,先回想一以下向过程和面向对象. 一面向过程 面向过程主张按功能来划分系统需求.每一个功能都负责对数据进行一次处理.每一个功能都接受一些数据.它最小的单位是函数,每一个函数负责完毕一个功能,整个系统由一个个函数组成,当中有一个主函数.作为程序的入口.主函数依次调用其它普通函数,普通函数之间依次调用.从而完毕整个软件系统的功能.事实上就是主函数负责把系统中的全部函数"串起来". 从上面…
Java程序设计基础之面向对象(上) (自适应学习进度而进行记录的笔记,希望有一些小小的用处吧(^∀^●)ノシ) (新人上路,望多指教,如有错误,望指正,万分感谢(o゚v゚)ノ) 目录 一.面向对象 (一)面向对象程序设计(Object Oriented Programming,OOP) (二)包与类(package & class) (三)对象.方法与属性(Object & Methods & Properties) (四)方法(Method) (五)构造器(Constructo…
之前介绍了java面向对象三大特性之一封装,现在来说说三大特性之一继承和抽象类.这些只是我个人的认识,不足之处还请见谅. 1. 继承是面向对象的三大特征之一,那么何为继承呢? 继承是指一个对象直接使用另一个对象的属性与方法,是通过extends关键字让类与类之间产生继承关系.而被继承的类称为父类,继承父类的类称为子类(派生类). //父类 class Animal { //如果属性需要被子类继承,那么可以使用protected关键字,方法也一样 protected String name; pr…
面向对象深入 1.面向对象三大特征 a) 继承 inheritance 子类可以从父类继承属性和方法 子类可以提供自己的属性方法 b) 封装 encapsulation 对外隐藏某些属性和方法 对外公开某些属性和方法 c) 多态 polymorphism 适应变量的多种变化 1.1 封装 a)   为什么需要封装 隐藏对象内部的复杂性,只对外公开简单接口.便于外界调用,提高系统可扩展性.可维护性: b)   实现封装 使用访问权限符 成员四种访问权限 public 公共的 项目可见 protec…
一.封装 封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和方法都是类的成员.封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员. 理解 开车时,我们不需要知道发动机的运转原理: 开飞机时,我们不需要知道是什么驱动螺旋桨来转动的: 思想 高内聚,低耦合: 原则 把尽可…
Java程序设计基础之面向对象(下) (补充了上的一些遗漏的知识,同时加入了自己的笔记的ヾ(•ω•`)o) (至于为什么分P,啊大概是为了自己查笔记方便(?)应该是("` 3′")) (但是u1s1,学完了面向对象后反而更懵逼,下一步先刷算法吧,然后Java的学习也跟上,今年争取考完二级证书(o-ωq)).oO 困) 目录 一.面向对象 (一)快捷键 (二)继承 (三)封装 (四)多态 (五)Object类 (六)关键字 (七)操作符 (八)抽象类 (九)接口 (十)内部类 一.面向对…
这篇博客总结了1天,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 , 因为前不久偶然发现某网站直接复制粘贴我的博客,交谈之后他们修改了出处. 封装 一, 封装的概念 类可以看成一个封装体,将对象的属性和方法封装到类中. 把不希望外界看到或调用的属性或方法用private 关键字修饰, 然后在属性或方法的类中创建一个可以间接让外部使用属性或方法的通道. 二, 封装的实现 通常将类中的成员变量私有化 (private) ,那么再通过…
一.封装 概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 实现步骤: 修改属性的可见性——设为private. 创建getter/setter方法——用于属性的读写. 在getter/setter方法中加入属性控制语句——对属性值的合法性进行判断. 包: 作用: 管理Java文件:解决同名文件冲突. 定义名: package 包名 必须放在Java源程序的第一行,包名间可以用“.”隔开. 系统中的包: java.(功能).(类)…
面向对象基础 1.1面向过程与面向对象的区别 面向过程和面向对象二者都是思考问题的方式,再简单的事物时,可以线性思考时使用面向过程,但当事物较为复杂时,只能使用面向对象设计.但二者并不是对立的,在解决复杂问题时,通过面向对象的方式把握事物之间复杂的关系,方便分析整个系统:具体到微观时,仍然使用面向过程设计. 以开车为例,面向过程中思考 有一辆车 驾驶员上车 挂挡踩离合 车开动 而面向对象中思考 有车.驾驶员这两个个对象 车拥有挂挡离合这几个方法(还拥有属性,如性能外观) 人拥有挂挡踩离合这几个方…
一.面向对象与面向过程 1.面向过程 角度是功能,以方法为最小单位,思考的是具体怎么做. 2.面向对象 角度是抽象,以类为最小单位,思考的是谁来做. 3.示例:“小明去上班” 面向过程 起床,刷牙洗脸,出门,打车,上车,出发,上班: 面向对象 小明: 起床,刷牙洗脸,出门,打车,付钱,上班: 司机: 开车,收钱 车: 跑 二.类和对象 1.概述 类 属性,方法,构造器,代码块: 类属性,静态方法,静态代码块: 内部类,匿名内部类: 对象/实例 类(模板,图纸,规范) -> 对象(实实在在的”生物…