Java语言高级语法

来源:互联网 发布:8080端口到底是是什么 编辑:程序博客网 时间:2024/04/28 20:35

1、java语法规定,当使用public和class这两个关键字修饰一个类时,存放类的文件就必须命名为“此类的名字”+“.java”;java语法还规定,在一个源文件中,必须有且只能有一个public的类。

2、类主体是类名后面那对大括号的内容。类主体中的主要内容就是属性和方法。类主体中也可以什么也没有;类主体中的变量叫做类的属性,同时它也是“类的成员”,所以也叫做成员变量。

3、类时一种抽象,它把一类物体的特征抽象出来,通过适当的数据类型表示,因此可以说类是一种抽象的数据类型;对象是按照类的定义创建出来的实例;

4、Java中的类型只有两种:基本数据类型和类(数组类型也是类,Java平台针对数组类有专门的处理方式。)

5、Java与C的一点不同:C语言可以创建一个基本数据类型的指针或引用,然后让它指向一个基本数据类型。但在Java中,引用只能用在类上

6、关于类的引用:声明一个类变量,就是创建一个引用。

Car referenceToCarObject;        //创建一个引用referenceToCarObject = new Car();//使用引用来创建对象

说明:a.可以让这个引用指向一个Car类的对象;b.它不是Car类的对象,但是可以让它指代一个Car类的对象;c.可以使用它操作它指向的Car类的对象。

7、可以在类中声明一个自己类型的引用。如:

public class Driver {String name;int age;Driver teacher;}
注意:不能给teacher属性赋一个新创建的对象,否则程序会陷入一种死循环中,如:

public class Driver {String name;int age;Driver teacher = new Driver();}
程序会报错:StackOverflowError。

8、方法是类的功能,类的功能只能通过方法来实现。方法必须是属于某个类的,即方法必须定义在类中。
9、使用return语句可以结束一个方法,在使用一个参数的时候,注意检查参数的合理性!

10、重载是指在一个类中,有两个或多个方法,它们有一样的方法名,但是却有不一样的方法签名(方法签名是由方法名和参数类型决定的,与方法的其他属性无关。注意,返回类型和形参名不是方法签名的一部分!),重载的优势是可以重用方法名。
11、方法中使用到的变量的寻找规律是先找到局部变量,再找到实例变量,如果再没有找到,将会有一个编译错误而无法通过编译。

12、如果使用this关键字访问一个变量,则是访问实例变量而非局部变量。Java平台不会在方法的局部变量中寻找。这点跟this关键字不同。this理解的一个小例子:

public class SimpleClassToShowThis {public int a = 100;public void test(){int a = 50;this.a = a + 5;       //a是a=50的这个a,this.a是test()方法外面定义的那个a。System.out.println(a);//这里的a是test()里面定义的a,因此输出a的值为50}}

public class TestThis {public static void main(String[] args){SimpleClassToShowThis simple = new SimpleClassToShowThis();simple.test();System.out.println("a = " + simple.a);//这里simple.a访问的是simple对象的a,即定义在test()方法外的实例变量a;因为this.a = a + 5; 所以,其值为55;}}
13、构造方法没有返回值类型(不能使用void),但是构造方法内可以使用return。同时构造方法名必须与类名一样。

14、通过this+构造方法实参,可以在一个构造方法中调用同类的另一个构造方法;同时必须将这个放在构造方法的第一行。如:

public Car() {      this("Java","coffee color");}
它会在Car类中搜索符合要求的构造方法,然后去执行那个构造方法。其过程,包括寻找方法、实参形参赋值、方法调用后的返回等。

15、static关键字可以用来修饰方法和变量。如果一个变量使用static关键字修饰,那么这个变量就是类范围内的一个属性,所有这个类的对象将共享这个属性,即,创建对象的时候不会创建使用static关键字修饰的变量。使用static修饰的变量叫类变量或静态变量。其实类变量在程序加载的时候创建,先于类的所有对象的创建。使用类变量的时候,不需要使用对象而是可以直接使用类名。

16、使用static修饰的方法叫做类方法或静态方法。static修饰的方法可以通过类名直接调用;类方法中不能够使用this关键字(因为this关键字代表对象,而类方法是类范围内的方法,所以代码内不能使用this关键字去访问变量和方法。);类方法内可以调用类方法和使用类变量;没有使用static修饰的方法可以调用static修饰的方法。

17、创建一个类的对象的过程:首先创建这个类的父类的对象,然后创建这个类的对象。

18、子类唯一没有直接继承父类的就是父类的构造方法。(可以这样理解,构造方法要求方法名与类名相同,之类和父类类名不要求相同,所以子类无法继承父类的构造方法)

19、通过super关键字调用父类的构造方法,只能够在子类的构造方法中使用,同时必须在子类的构造方法中的第一行使用此语法。

20、一个子类的引用可以用来给父类引用赋值,无需进行强制类型转换。即父类的引用可以无条件地指向子类的对象。

21、Java平台执行的规则是:在编译程序的时候,可以调用哪些方法,访问哪些属性,是引用类型决定的;在程序运行的时候,具体访问哪个属性,执行那个方法,是对象的类型决定的。












注:参考《Java入门1·2·3——一个老鸟的Java学习心得》

原创粉丝点击