Java的类定义说明
1、java中的类定义与实现是放在一起保存的,整个类必须在一个文件里,所以源文件会很长
2、java源文件名必须根据文件中的公有类名来定义,并且要区分大小写
3、class定义的大括号之后没有分隔符“;”
如果不写public,private,protected,则说明是friendly,相应的成分可以被所在包中的各类访问。
全局变量和全局静态变量的根本区别还是作用域的区别。
1、全局变量是不显示用static修饰的全局变量,但全局变量默认是静态的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局变量;
2、全局静态变量是显示用static修饰的全局变量,作用域是所在的文件,其他的文件即使用extern声明也不能使用。
public static void main(String args[]){}
main方法是静态的,因为如果不是静态的话,要启动就必须创建一个实例,但是main是程序入口,创建一个实例又得从main开始.
Java与继承有关的关键字:
1、final——用final修饰的类不能再派生子类,他已到达类层次中的最底层
2、abstract——用abstract可以修饰类或成员方法,表明被修饰的成分是抽象的。
抽象方法只须给出原型说明,方法体是空的。含有抽象方法的类必须说明为抽象类。和final完全不同,抽象类一定要派生子类,父类中的抽象方法可以在子类中实现,也可以在子类中继续说明为抽象的,然后在更下一层的子类中实现。
和C++里的虚函数有点像
Java里只有公有继承
super的作用。
super出现在继承了父类的子类中。有三种存在方式:
第一种
super.xxx;(xxx为变量名或对象名)
这种方法意义为,获取父类中的名字为xxx的变量或方法引用。
使用这种方法可以直接访问父类中的(protected或public)变量或对象,进行修改赋值等操作
第二种
super.xxx();(xxx为方法名)
这种方法意义为,直接访问并调用父类中的(protected或public)方法。
第三种
super();
这种方法意义为,调用父类的初始化方法,表示调用父类的构造方法。
This也可以用this()的方法来实现构造,比如
classPoint{
int x,y;
Point(){
this(2,3);
}
}
class Point3dextends Point{
Int z;
public Point3d(int x, int y, int z){
super(x,y);
this.z = z;
}
public point3d(){
this(1,2,3);
}
}
Java的输出print和println一样,是一般的标准输出,只是println在结尾会输出换行
Printf和C语言的一样,是格式化输出
说明一个引用变量仅仅是预定了变量的存储空间,此时并没有变量生成,也没有相应的空间地址给实例使用。必须进行对象实例化之后,才有真正的实例出现,也才能使用这个类
变量名 = new 类名(参数列表);
Java里的String 字符串类型S要大写