JAVA,
JAVA,
一、成员变量 和 局部变量区别:1、作用域不同:
成员变量的作用域在整个类内部都是可见的;
局部变量的作用域仅限于定义它的方法。
2、初始值不同:
Java会给成员变量一个初始值;
Java不会给局部变量赋予初始值。
二、Java中的static使用之静态变量
Java中被static修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名进行访问,也可以使用方法名进行访问。鉴于它们的特殊性,更推荐使用类名访问。
Java中的static使用静态方法
1、静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
2、在普通成员方法中,可以直接访问同类的非静态变量和静态变量。
3、静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
Java中的static使用之静态初始化块
在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。
需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
package com.dong;
public class Telephone {
int num1;
int num2;
static int num3;
public Telephone(){
num1 = 91;
System.out.println("通过构造方法为变量num1赋值.");
}
{//初始化块
num2 = 72;
System.out.println("通过初始化块为变量num2赋值.");
}
static{//静态初始化块
num3 = 33;
System.out.println("通过静态初始化块为静态变量num3赋值.");
}
public static void main(String[] args){
Telephone phone = new Telephone();
System.out.println("num1:"+phone.num1);
System.out.println("num2:"+phone.num2);
System.out.println("num3:"+num3);
Telephone phone2 = new Telephone();
}
}
结果为:
通过静态初始化块为静态变量num3赋值.
通过初始化块为变量num2赋值.
通过构造方法为变量num1赋值.
num1:91
num2:72
num3:33
通过初始化块为变量num2赋值.
通过构造方法为变量num1赋值.
三、面向对象特点:封装、继承、多态。 封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对类内部隐藏信息的访问,修改。
Java中的内部类
package com.dong;
public class Outer {
private String name = "dong";
public class Inner{
private String name = "dong2";
public void show(){
System.out.println("访问内部类中的name:"+name);
System.out.println("访问外部类中的name:"+Outer.this.name);
}
}
public static void main(String[] args){
Outer out = new Outer();
Inner in = out.new Inner();
in.show();
}
}
结果为:
访问内部类中的name:dong2
访问外部类中的name:dong
编译上面的程序后,会发现产生了两个 .class 文件第二个是外部类的 .class 文件,第一个是内部类的 .class 文件,即成员内部类的 .class 文件总是这样:外部类名$内部类名.class
Java中的静态内部类
package com.dong;
public class Outer {
private static String name = "dong";
private int id = 12;
public static class Inner{
private String name = "dong2";
public void show(){
System.out.println("访问外部类中的id:"+new Outer().id);
System.out.println("访问内部类中的name:"+name);
System.out.println("访问外部类中的name:"+Outer.name);
}
}
public static void main(String[] args){
Inner in = new Inner();
in.show();
}
}
结果为:
访问外部类中的id:12
访问内部类中的name:dong2
访问外部类中的name:dong
Java中的方法内部类方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。
四
尽管对象的内容相同,对象的应用却不同,==和!=比较的就是对象的引用。
equals()方法比较对象的实际内容。
相关文章
- 暂无相关文章
用户点评