实例变量

Java基础知识总结

我们两清 提交于 2019-11-29 17:15:43
本博文内容参考相关博客以及《Java编程思想》整理而成,如有侵权,请联系博主。 转载请注明出处: http://www.cnblogs.com/BYRans/ PDF版下载链接: 《Java基础知识总结》 。 如果您想在此基础上做一些修改,请联系dingyu.sdu@gmail.com,我把word原版发给您。 一:java概述: 1,JDK:Java Development Kit, java的开发和运行环境,java的开发工具和jre。 2,JRE:Java Runtime Environment, java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。 3,配置环境变量: 让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。 环境变量的配置: 1 ): 永久配置方式:JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin 2 ): 临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin 特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。 classpath的配置: 1 ): 永久配置方式:classpath=.;c:\;e:\ 2 ):

Java基础知识笔记-8-接口,lambda表达式与内部类

落花浮王杯 提交于 2019-11-29 15:12:17
Java基础知识笔记-8-接口,lambda表达式与内部类 首先,介绍一下接口(interface)技术,这种技术主要用来描述类具有什么功能,而并不给出每个功能的具体实现。一个类可以实现(implement)一个或多个接口,并在需要接口的地方,随时使用实现了相应接口的对象。了解接口以后,再继续介绍而表达式,这是一种表示可以在将来某个时间点执行的代码块的简洁方法。使用lambda表达式,可以用一种精巧而简洁的方式表示使用回调或变量行为的代码。 接下来,讨论内部类(inner class)机制。理论上讲,内部类有些复杂,内部类定义在另外一个类的内部,其中的方法可以访问包含它们的外部类的域。内部类技术主要用于设计具有相互协作关系的类集合。 10.1 接口 在Java程序设计语言中, 接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。 在Java语言中,接口有两种意思 一是指概念性的接口,即指系统对外提供的所有服务,类的所有能被外部使用者访问的方法构成了类的接口 二是指interface关键字定义的实实在在的接口,也称为接口类型。 在面相对象程序设计中,定义一个类必须做什么而不是怎么做有时是很有益的。前面有一个这样的例子:抽象方法为方法定义了签名,但不提供实现方式。子类必须自己实现由其父类定义的抽象方法。这样,抽象方法就指定了方法的接口而不是实现

python 面向对象

此生再无相见时 提交于 2019-11-29 13:56:21
面向对象(类编程) 简介:全称Object Oriented Programing(OOP) ,是一种程序设计思想,面向对象编程 面向对象名词简介 借鉴 菜鸟教程 类(class) :类事抽象的模板,用来描述具有相同属性和方法的对象的集合。定义了集合中每个对象所拥有的方法,对象是类的实例 方法 :类中自定义的函数 类变量 :类变量在整个实例化的对象中是公用的,每个对象都可以调用类变量。类变量定义在类中且函数体之外。类变量通常不作为实例变量使用 数据成员 :类变量或者实例变量用于处理类及实例对象所使用的相关数据 方法重写 :如果从父类继承的方法不能满足子类的需求,可以对齐进行重新,这个过程叫做方法的覆盖,也叫做方法的重写 局部变量 :定义在方法中的变量,只作用与当前实例的类 实例变量 :在类的声明中,属性是用变量来表示的。这种变量也叫做实例变量 继承 :既一个派生类(同有的方法调用另一个类),继承基类(例如Person)的字段和方法。例如:A类和B类都需要调用相同的方法,既创建C类,把相同的方法放到C类,A类和B类继承C类,A类和B类就可以直接调用C类的方法了 实例化 :创建一个类的实例,类的具体对象,例如:人类是一个类的集合,你不知道里边有谁谁谁,但是我如果说马云,你肯定就想到了他的身高,长相,money等等,这个过程也叫做实例化 对象 :也叫做 实例 ,通过类定义的数据结构实例

java面试题1

ぃ、小莉子 提交于 2019-11-29 13:19:29
1. 面向对象和面向过程的区别 面向过程 优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点: 没有面向对象易维护、易复用、易扩展 面向对象 优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 缺点: 性能比面向过程低 2. Java 语言有哪些特点 简单易学; 面向对象(封装,继承,多态); 平台无关性( Java 虚拟机实现平台无关性); 可靠性; 安全性; 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持); 支持网络编程并且很方便( Java 语言诞生本身就是为简化网络编程设计的,因此 Java 语言不仅支持网络编程而且很方便); 编译与解释并存; 3. 什么是 JDK 什么是 JRE 什么是 JVM 三者之间的联系与区别 这几个是Java中很基本很基本的东西,但是我相信一定还有很多人搞不清楚!为什么呢?因为我们大多数时候在使用现成的编译工具以及环境的时候,并没有去考虑这些东西。 JDK: JDK(Java Development Kit)顾名思义它是给开发者提供的开发工具箱,是给程序开发者用的

static 和 final 关键字

风流意气都作罢 提交于 2019-11-29 12:19:00
本人博客园链接 https://www.cnblogs.com/zongmin/p/11340334.html static关键字 静态变量 静态变量:又称做类变量,也就是这个变量属于整个类,而不属于单个实例。类所有的实例共享静态变量,可以直接通过类名来访问它。静态变量在内存中只存在一份,当系统第一次加载类时,系统为静态变量分配内存,直到该类不在使用,内存才会被回收,生命周期几乎等同于该类的生命周期。 实例变量:每创建一个实例就会产生一个实例变量,与该实例同生共死。 public class A { private int x ; //实例变量 private static int y ; //静态变量 public static void main ( String [ ] args ) { A a = new A ( ) ; //实例变量,只能通过实例来访问 System . out . println ( a . x ) ; //0 //静态变量属于类本身,所以既可以通过实例也可以通过类本身来访问 System . out . println ( a . y ) ; //0 System . out . println ( A . y ) ; //0 //更改静态变量和实例变量的值 a . x = 10 ; a . y = 5 ; A b = new A ( ) ; /

Java 内存分配全面浅析

纵然是瞬间 提交于 2019-11-29 09:40:11
本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java。这类文章网上有很多,但大多比较零碎。本文从认知过程角度出发,将带给读者一个系统的介绍。 进入正题前首先要知道的是Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM的重要 性。所以在学习Java内存分配原理的时候一定要牢记这一切都是在JVM中进行的,JVM是内存分配原理的基础与前提。 简单通俗的讲,一个完整的Java程序运行过程会涉及以下内存区域: l 寄存器: JVM内部虚拟寄存器,存取速度非常快,程序不可控制。 l 栈: 保存局部变量的值,包括:1.用来保存基本数据类型的值;2.保存类的 实例 ,即堆区 对象 的引用(指针)。也可以用来保存加载方法时的帧。 l 堆: 用来存放动态产生的数据,比如new出来的 对象 。注意创建出来的对象只包含属于各自的成员变量,并不包括成员方法。因为同一个类的对象拥有各自的成员变量,存储在各自的堆中,但是他们共享该类的方法,并不是每创建一个对象就把成员方法复制一次。 l 常量池: JVM为每个已加载的类型维护一个常量池,常量池就是这个类型用到的常量的一个有序集合。包括直接常量(基本类型,String)和对其他类型、方法、字段的 符号引用

UE4蓝图教程(3)

空扰寡人 提交于 2019-11-29 08:26:05
简述 和现实世界一样,游戏中也包含各种各样的物体,每个物体都有自己的外表。在虚幻引擎中,材质定义了这些外部。它是什么颜色的?有多亮的?是透明的吗?这些都是在材质中定义的。 在虚幻引擎中,几乎所有的外表元素都使用了材质。你可以将材质应用于各种物体,例如网格,粒子和UI元素。 在本教程中,您将学习如何: 1 操作纹理改变它们的亮度和颜色 2 使用材质实例快速改变物体 3 使用动态材质实例改变物体颜色 在本教程中,您将使用材质和蓝图编辑器。如果您不熟悉它们,请阅读我们的入门教程和蓝图教程。 注 : 博主水平有限,如有疑问,请参见 原英文教程 开始 下载 starter project 并解压它。打开项目文件夹并打开BananaCollector.uproject。 注意:如果你收到提示,说这个项目是用旧版本的虚幻4创建的,没关系(引擎经常更新)。您可以选择打开副本,也可以选择在合适的位置进行版本转换。 你会看到一个地面上有一些香蕉。使用W、A、S和D键控制一个红色立方体。你可以通过移动来收集香蕉。 首先,你要改变香蕉材质的亮度。先导航到Materials文件夹,双击M_Banana在材质编辑器中打开它。 为了调整香蕉的亮度,你需要控制香蕉的纹理。 操作纹理 基本上,纹理就是图像,图像是像素的集合。在彩色图像中,像素的颜色由它的红色(R)、绿色(G)和蓝色(B)通道来决定。 下面是一个例子

kvo与runtime

不羁的心 提交于 2019-11-29 06:47:38
创建新类 添加方法 isa-swizzling 测试方案: 添加全局断点 objc_allocateClassPair objc_registerClassPair class_addMethod 在动态添加类及属性这块,主要用的的 runtime函数是 1).objc_allocateClassPair—–通过这个函数,可以创建出一个类 2).class_addIvar—–为该类添加实例变量 3).sel_registerName—–注册一个 SEL方法 4).class_addMethod—–为创建的类动态添加方法 5).objc_registerClassPair—–为创建的类进行注册 6).class_getInstanceVariable—–获取类中的实例变量 7).object_setIvar—–为对象中的变量赋值 8).objc_disposeClassPair—–销毁创建出来的类 ———————————————— 版权声明:本文为CSDN博主「CINNS」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/nvlangxin/article/details/51610818 来源: https://www.cnblogs.com/feng9exe/p/11460994.html

Python Web Flask源码解读(四)——全局变量

十年热恋 提交于 2019-11-29 05:40:27
关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android、Python、Java和Go,这个也是我们团队的主要技术栈。 Github:https://github.com/hylinux1024 微信公众号:终身开发者(angrycode) Flask 中全局变量有 current_app 、 request 、 g 和 session 。不过需要注意的是虽然标题是写着全局变量,但实际上这些变量都跟当前请求的上下文环境有关,下面一起来看看。 current_app 是当前激活程序的应用实例; request 是请求对象,封装了客户端发出的 HTTP 请求中的内容; g 是处理请求时用作临时存储的对象,每次请求都会重设这个变量; session 是用户会话,用于存储请求之间需要保存的值,它是一个字典。 0x00 current_app 应用程序上下文可用于跟踪一个请求过程中的应用程序实例。可以像使用全局变量一样直接导入就可以使用 (注意这个变量并不是全局变量) 。 Flask 实例有许多属性,例如 config 可以 Flask 进行配置。 一般在创建 Flask 实例时 from flask import Flask app = Flask(__name__) app.config['SQLALCHEMY_TRACK

IO流,对象序列化

老子叫甜甜 提交于 2019-11-29 00:14:12
对象序列化  序列化机制允许将实现序列化的Java对象转换成字节序列,这些字节序列可以保存在磁盘上,或者用于网络传输,以备以后重新恢复成原来的对象。序列化机制使得对象可以脱离程序的运行而独立存在。  对象的序列化(Serialize)指将一个Java对象写入IO流中,与此对应的是,对象的反序列化(Deserialize)则是指从IO流中恢复该Java对象。如要让某个对象支持序列化机制,则必须要让它的类是可序列化的(Serializable)。为了让某个类是可序列化的,该类需要继承如下两个接口之一:   1. Serializable接口   2. Externliazble接口 我们先从Serializable接口开始说起。当类继承了Serializable接口时,该类是可序列化的,即创建出来的对象,可以写入磁盘或者用于网络传输(基本上用于网络传输的类都是序列化的,否则程序会出现异常。若有接触过Java web开发的同学,在web应用中的HttpSession 或ServletContext就是可序列化的类)。 我们如何操作输入/输出可序列化的对象呢,答案是使用ObjectInputStream与ObjectOutputStream的字节流进行操作,这两个流不仅仅是字节流还是处理流,因此需要一个任意节点流作为基础。 下面实现将可序列化对象写入文件,并从该文件读取该对象