最近又重温了一遍<java编程思想>,在看的过程中产生一个想法,java中继承关系的父子类,相同的方法会被重写,那相同的变量会怎样呢? 答案是变量没有重写之说,如果子类声明了跟父类一样的变量,那意谓着子类中将有两个相同名称的变量 : 看如下有趣的例子: public class A { public int m = 1; public void view(){ System.out.println(this.m); System.out.println(this.getClass()); }…
https://stackoverflow.com/questions/185844/how-to-initialize-private-static-members-in-c https://stackoverflow.com/questions/1197106/static-constructors-in-c-i-need-to-initialize-private-static-objects One idiom was proposed at: https://stackoverflow…
1.使用static类的优点: (1)避免与其他类的成员或者全局变量冲突 (2)可以封装 (3)阅读性好 2.static 数据成员独立于该类的任意对象而存在 static数据成员的类型可以是该成员所属的类类型.非static成员被限定声明为其自身类对象的指针或引用. class Bar{ public: // private: static Bar mem1; //ok Bar *mem2;//ok Bar &mem3;//ok Bar mem4;/…
一.变量与构造器的初始化顺序 我们知道一个类中具有类变量.类方法和构造器(方法中的局部变量不讨论,他们是在方法调用时才被初始化),当我们初始化创建一个类对象时,其初始化的顺序为:先初始化类变量,再执行构造器方法.代码验证: public class Demo01 { public int a1 = 1; public String a2 = "initiaied!"; public Demo01() { System.out.println(a1); System.out.printl…
今天看到一个java类中定义了接口,写个备忘录,记录一下 package com.gxf.test; public class Test_interface { public interface show{ public void show(); } static class TestInterface implements show{ @Override public void show() { System.out.println("this is interface!"); }…