i++和++i

i++和++i或者i–和–i是一种很常见的写法,两者都表示自增或者自减,但是却有区别:

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Demo
{
public static void main(String[] args)
{

int i = 1;
int a = i++;
System.out.println("a="+a+","+"i="+i);

int j = 1;
int b = ++j;
System.out.print("b="+b+","+"j="+j);
}
}

Java中this与super

调用类中变量的写法实际上应该是:对象名.变量名

  1. this代表调用该成员的对象,通常对象名被省略,即省略了this.但是在有同名变量参与时不可省略。如下面的情形:

    1
    2
    3
    4
    public void setNum(String num)
    {
    this.num = num;
    }
  2. 当在同一个类中的一个构造函数中调用另一个构造函数时,就可以使用this来直接调用。但是在使用时,含有this的这句话必须放在代码块的第一行。如下面的情形:

安卓解析json

Json的数据结构

例如:

1
2
3
4
5
6
7
8
9
10
11
[
{
"authType":"oAuth2" ,
"CAS":"https://auth.bistu.edu.cn" ,
"oAuth2":"https://222.249.250.89:8443" ,
"AndroidUpgrade":"http://m.bistu.edu.cn/upgrade/Android.php" ,
"jwApi":"http://m.bistu.edu.cn/jiaowu" ,
"icampusApi":"http://m.bistu.edu.cn/api" ,
"newsApi":"http://m.bistu.edu.cn/newsapi"
}

]

在这组数据中,[]中的内容是一个json数组 ,数组中存放着用{}包含的json对象(数组的元素),如果有多个{},那么就表明这个json数组中有多个json对象;一个对象中有多个键值对,冒号前面的是键,冒号后面的是值,不同的键值对之间用,分隔开

java关键字static使用总结【转】

原文

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。

被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。

用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。

static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用–废话),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明白,private是访问权限限定,static表示不要实例化就可以使用,这样就容易理解多了。static前面加上其它访问权限关键字的效果也以此类推。

Java继承中子类与父类的执行顺序

下面是一道经典题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class X {
Y y1 = new Y();

X() {
System.out.println("X");
}
}

class Y {
Y() {
System.out.println("Y");
}
}

public class Z extends X {
Y y2 = new Y();
Z() {
System.out.println("Z");
}

public static void main(String[] args) {
new Z();
System.out.println("程序结束");
}
}

判断输出结果: