类
*一组具有某功能的程序代码称为“类(class)”。我们可对该类进行分身复制,这样所得分身即可使用的“对象(object)”。*设有一组有功能的类:
clss Mynumber{
int number;
}
由观察可知,类的特征有:
(1)以“class”作为前置提示。
(2)有类名称。
(3)有一定意义的功能。
(4)使用大括号“{ }”作为代码块范围。
//创建一个类
public class MyNumber {
int age;
}
//主程序
public class My_information {
public static void main(String[] args) {
MyNumber a = new MyNumber();
a.age=18;
System.out.println("a.number="+a.age);
}
}
由此可知新对象的使用方法:
类名.对象名=new 类名();
//完整格式
类名 对象名;
对象名=new 类名();
一、代码块(Block)
1.每一行代码块并非随时存在,只有当被运行时才存在。
public class Test {
public static void main(String[] args) {
{
int a=6;
System.out.println("a="+a);
}
{
int b=66;
System.out.println("b="+b);
}
}
}
2.其功能解释两个不相关的代码块,可声明相同的名称的变量。
public class Test {
public static void main(String[] args) {
{
int a=6;
System.out.println("a="+a);
}
{
int a=66;
System.out.println("a="+a);
}
}
}
3.不能用内部代码解释外部代码,否则会报错
public class Test {
public static void main(String[] args) {
{
int a=6;
System.out.println("a="+a);
}
{
int a=66;
System.out.println("a="+a);
}
//System.out.println("a="+a);报错
}
}
二、外部代码和内部代码的逻辑关系:
1.内部代码块随外部代码块的存在而存在。
2.外部代码与内部代码块声明变量的名称不能相同。
3.内部代码块可使用外部代码块的声明变量,而外部代码不能使用内部代码块的声明变量。
4.若为互不隶属的代码块,彼此之间无依存关系,各自所声明的变量,即使名称相同也无冲突。
对上诉4点的解释:
1.若代码块不存在,将无环境运行其内部代码块,此时内部块也无法存在,故内部代码块随外部代码块存在而存在。
2.因外部代码块与内部代码块同时存在,同一瞬间,系统不能有两个相同名称的内存,否则系统不知道选择哪个来运行,故外部代码块与内部代码块不得有相同名称变量的声明。
3.当某内部代码块存在时,其外部代码块也必须存在,故内部代码可使用外部代码块的声明变量;而当某外部代码块存在时,其某些内部代码块并非一定存在,故外部代码块不得使用内部代码块的声明变量。
4.互不隶属的两个代码块不能同时运行,即不可能同时存在,故对于各自所声明的变量,虽名称相同但无冲突。
1.02 类变量(Class Variables)
无论是代码还是变量,只是在其生存时才有运行的操作。java可采用关键字“static”让变量一直保持存在状态。
class Information{
//int a;
static int a;
}
public class My_information {
public static void main(String[] args) {
//Information x = new Information();
//x.a = 10;
//System.out.println("x="+x.a);
Information.a = 10;
System.out.println(Information.a);
}
}