先看代码 public class Variable{ int b=0; //实例变量 static int a=0; //类变量 final String c="wws"; //常量 public void test(){ int d =0;//局部变量 } } (1)代码中的实例变量.类变量.常量都属于成员变量 (2)类变量:方法体外.带static属于该类所有实例共有的属性,在内存中只有一个地方存储这个变量.而且所有的实例都可以修改这个类变量的值(前提是这个类变量没有被final…
  类变量.成员变量.局部变量 类变量(也叫静态变量)是类中独立于方法之外的变量,用static 修饰.(static表示“全局的”.“静态的”,用来修饰成员变量和成员方法,或静态代码块(静态代码块独立于类成员,jvm加载类时会执行静态代码块,每个代码块只执行一次,按顺序执行)). 成员变量(也叫“实例变量”.“域”)也是类中独立于方法之外的变量,不过没有static修饰. 局部变量是类的方法中的变量. 看下面的伪代码说明: public class Variable{ static int a…
没有父类的情况 1,静态代码块-->静态成员变量-->成员变量(实例属性)-->代码块-->构造函数 2, 静态代码块 和 静态成员变量 只会初始化一次 有父类的情况 1,父类非Object 静态成员变量 -- > 静态代码块 代码块-->成员变量(实例属性)-->构造函数 2, 父类是Object (其实相当于没有父类) 成员变量(实例属性)-->代码块-->构造函数 静态代码块 -->静态成员变量 基本所有的这一块度可以用上面的总结来判断(个…
C#中一些易混淆概念 这几天一直在复习C#基础知识,过程中也发现了自己以前理解不清楚和混淆的概念.现在给大家分享出来我的笔记: 一,.NET平台的重要组成部分都是有哪些 1)FCL (所谓的.NET框架类库) 这些类是微软事先定义好的. 例如当我们新创建一个windows窗体应用程序是,VS会帮我们自动生成下面的代码: using System; using System.Collections.Generic; using System.Text; 这些就是微软事先为程序员定义好的类库.程序员…
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字,部分类,枚举 [C#小知识]C#中一些易混淆概念总结(三)--------结构,GC回收,静态成员,静态类 [C#小知识]C#中一些易混淆概念总结(四)---------解析Console.WriteLine() [C#小知识]C#中一些易混淆概念总结(五)---------深入解析C#继承 [C…
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字,部分类,枚举 [C#小知识]C#中一些易混淆概念总结(三)--------结构,GC回收,静态成员,静态类 [C#小知识]C#中一些易混淆概念总结(四)---------解析Console.WriteLine() [C#小知识]C#中一些易混淆概念总结(五)---------继承 --------…
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字,部分类,枚举 [C#小知识]C#中一些易混淆概念总结(三)--------结构,GC回收,静态成员,静态类 [C#小知识]C#中一些易混淆概念总结(四)---------解析Console.WriteLine() ----------------------------------分割线-----…
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字,部分类,枚举 [C#小知识]C#中一些易混淆概念总结(三)--------结构,GC回收,静态成员,静态类 [C#小知识]C#中一些易混淆概念总结(四)---------解析Console.WriteLine() ----------------------------------分割线-----…
目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) ---------------------------------------分割线---------------------------------------------- 一,C#中结构 在C#中可以使用struct关键字来定义一个结构,级别与类是一致的,写在命名空间下面. 1)结构中可以定义属性,字段,方法和构造函数.示例代码如下: //定义结构 struct Point { //定义字段 pr…
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 继上篇对一些C#概念问题进行细节的剖析以后,收获颇多.以前,读书的时候,一句话一掠而过,但是现在再去重读的时候,每句话发现都包含大量的信息.这一篇继续总结自己的学习笔记,给大家深度的剖析一些概念性问题,有助于大家对C#的理解. --------------------------------------------------分割线-------------------------…
静态成员变量(回收机制) StaticDemo 和 MyDemo package android.java.oop13; class MyDemo { /** * 定义一个静态变量 */ public static String country = "中国"; } public class StaticDemo { public static void main(String[] args) { /** * 能够使用 类名.静态成员变量,是因为静态成员变量是存放在(方法区(数据共享区)…
目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) [C#小知识]C#中一些易混淆概念总结(三) ----------------------------------分割线-------------------------------------- 这几天在温习结构体和类的时候遇到一个问题.发现一个奇怪的现象,一直找不到合理的答案.但是今天终于找到了合理的答案,所以拿来和大家分享一下. 我们首先来看下面的一段代码: class Program { sta…
Java变量按其作用域可分为:成员变量和局部变量.注意:在Java中是没有全局变量这个概念的 一.成员变量: 成员变量是在类中定义的变量,具体可分为类变量与实例变量--有无static修饰 实例变量的特点: 没有创建实例前是不会分配内存空间的: 从有实例开始,实例变量就存在了: 实例被销毁,实例变量就不存在了: 0~N个实例变量,程序每创建一个实例,系统就为该实例分配一块内存 类变量的特点: 从有类开始,类变量就存在了,一个JVM中类信息只要一个即可. 每个JVM最多只加载一个类一次,系统就为该…
1.成员变量的继承 1.1要点 子类用extends关键字继承父类.子类中可以提供新的方法覆盖父类中的方法.子类中的方法不能直接访问父类中的私有域,子类可以用super关键字调用父类中的方法.在子类中可以增加域,增加方法或者覆盖超类的方法,然而绝对不能删除继承的任何域和方法. 在一个子类被创建的时候,首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来形成一个子类的对象.所以所谓的继承使子类拥有父类所有的属性和方法其实可以这样理解,子类对象确实拥有父类对象中所有的属性…
java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型  也就是类 某一特定类型的所有对象都可以接收相同的消息,因为同一类事物有共同的特性 面向对象开发 •就是不断的创建对象,使用对象,指挥对象做事情. 面向对象设计 •其实就是在管理和维护对象之间的关系. 面向对象特征 •封装(encapsulation) •继承(inheritance) •多态(polymo…
这篇文章讨论了Java面向对象概念中一个基本的概念–Field Hiding(隐藏成员变量) 在讨论这个问题之前,我们看一段特别特别简单的代码,请问一下方法的数据结果是什么? public class FieldOverriding { public static void main(String[] args) { Sub c1 = new Sub(); System.out.println(" c1.s : " + c1.s); System.out.println("…
首先看个例子: package zm.demo; public class Demo { private int Id;//成员变量(字段).实例变量(表示该Id变量既属于成员变量又属于实例变量) private String name;//成员变量(字段).实例变量 public int age;//成员变量(字段).实例变量(这里用来举例子,在实际中一般都会设置为private) public static final String mood = "开心";//成员变量(公共字段)…
package extend; /*面向对象-继承: * 多个类的共同成员变量和成员方法.抽取到另一个类中(父类),我们多个类就可以访问到父类的成员了 * */ class Game{ String name; double vesion;//版本号 String agent;//代理商 public void start() { System.out.println("游戏启动"); } public void stop() { System.out.println("游戏…
假如 父类 int num =7:子类 int num =9:父类是否会被子类所覆盖? 给你看两个例子: 第一个例子: 第二个例子: 这两个例子的区别只有一句话   由此证明了子类从父类继承的时候  如果有同名的成员变量 默认情况下 父类的成员变量是被屏蔽的   如果你非要调用父类的成员变量  请使用super关键字…
/* 成员: 1.成员变量 2.函数 3.构造函数 变量: this 代表当前对象的引用 this.变量 首先在本类中找所需要的变量,如果没有找到再父类中找. super 用于访问当前对象的父类成员,super.变量 直接父类中找所需变量 */ class Person{ String name="张三"; } class Student extends Person{ String name="李四"; void show(){ System.out.printl…
public class Test { int c; //成员变量(实例变量) static int s1; //静态变量(类变量)(全局变量) public static void main(String[] args){ //static int s2; //局部变量不允许static定义 int b; //局部变量 Test t=new Test(); System.out.println(t.c); //成员变量系统会提供默认初始值,随着对象创建而存在(实例变量) b=1; System…
除了byte short int long float double char bollean这基础类型外,其余的都是引用类型 成员变量类型 初始值 byte 0 short 0 int 0 long 0l float 0.0f double 0.00 char '\u0000'(表示为空) boolean false 引用类型 null 匿名对象:new Person().show() 如果对于一个对象只需要进行一次方法调用,那么就可以使用匿名对象: 经常将匿名对象作为实参传递给一个方法进行调…
接口的含义理解:接口可以理解成统一的"协议",而接口中的属性也属于协议中的内容;但是接口的属性都是公共的,静态的,最终的 接口的成员特点:A:成员变量 只能是常量.默认修饰符 public static finalB:成员方法 只能是抽象方法.默认修饰符 public abstract //所以接口定义属性可以这么写:public interface People { int age=10; String name="输出名字";//接口里面定义的成员变量都是 pu…
这几天一直在复习C#基础知识,过程中也发现了自己以前理解不清楚和混淆的概念.现在给大家分享出来我的笔记: 一,.NET平台的重要组成部分都是有哪些 1)FCL (所谓的.NET框架类库) 这些类是微软事先定义好的. 例如当我们新创建一个windows窗体应用程序是,VS会帮我们自动生成下面的代码: using System; using System.Collections.Generic; using System.Text; 这些就是微软事先为程序员定义好的类库.程序员可以直接使用的. 2)…
1.java的基本数据类型,及所占字节和范围 byte:  字节型,占1个字节,8位,范围是   -2^7 ~   2^7-1 short:短整型,占2个字节,16位,范围是 -2^15 ~ 2^15 -1 int: 整形,占4个字节,32位,范围是-2^31 ~ 2^31 -1 long: 长整型 ,占8个字节,64位,范围是 -2^63  ~  2^63-1 float: 单精度浮点型,占4个字节,32位,不能表示精确的值.变量值后边必须加F或f,否则会编译不通过 double:双精度浮点型…
如果我有程序如下: C# code   ? 1 2 3 4 5 6 7     public class My     {         public bool b;         public int i;     }     Trace.WriteLine(new My().b.ToString());     Trace.WriteLine(new My().i.ToString()); 那么Trace的打印结果是False, 0而且我的VS2013的debug/release版的结果…
1. 引用和指针有什么区别? 本质:一个是别名,一个是地址1. 指针可以在运行时改变其所指向的值,引用一旦和某个对象绑定就不再改变2. 引用没有const, 指针有const 3. 从内存上看,指针会分配内存区域,引用不会,它仅仅是一个别名4. 在参数传递时,引用会做类型检查,而指针不会 5. 引用不能为空,指针可以为空 [类型检查.const.内存.值.空] 2. const和define有什么区别? 本质:define只是字符串替换,const参与编译运行.1. define不会做类型检查,…
/**子类会继承父类所有的属性和方法. * 但是根据不同的权限标识符,子类不可见父类的私有变量,但可以通过父类的公共方法访问私有变量 * 所以对于重名变量,子类和父类都各有一份. * 对于子类和父类中重名的方法,则为重写.即子类重写了父类的方法,用于多态. * 同一个类中函数的签名不同,则为方法的重载.函数的签名为函数名+参数列表,与返回值无关. */…
先看一段代码 var foo = {} foo.a = null alert(foo.a == null)     //true alert(foo.a === undefined)  //false alert(foo.b == null)     //true alert(foo.b === null)   //false 直观上来看,foo.a 是 null, foo.b 是undefined,所以null == undefined 为true,null === undefined  为f…
 这一篇主要来解析关于面向对象中最总要的一个概念--接口. 对于接口来说,C#是有规定使用Interface关键字来声明接口.它的声明是和类一致的.可以说接口就是一个特殊的抽象类.如下代码: class Program { static void Main(string[] args) { } } //声明一个可以飞的接口 interface IRunable { //包含可以被继承的子类实现的方法 void Run(); } 由以前的抽象类的知识可以知道,抽象类是没有办法实例化的(因为含有…