1.建议将类放在包中,不要使用无名包
2.建议包名都用小写单词组成,不要用大写
3.建议包名用“域名的倒写.项目名.模块名”的形式,以确保包名的唯一性
注意:类变量与实例变量、类方法与实例方法的区别
在前面加上static 就成了 类变量或类方法。
实例方法可以调用类中的其他方法
但是类方法只能调用 其他类static方法,不能调用 实例方法
类方法只有调用 类变量。
当类加载到内存时,实例方法、实例变量不会被分配内存空间,只有在创建对象之后才会被创建。
面类方法在该类加载到内存时就分配了相应的内存空间。
方法的重载:指的是方法名称相同,但是参数不同,好处是代码的执行,由参数来决定执行哪个方法。
在java 中,每个类至少有一个构造函数,如果类中没有显式声明,Java则自动提供一个隐含的默认的构造函数:
如: public Example(){}
类的主方法,也就是入口点, Eclipse 提供了一个可选项“public static void main(String[] args)” ,就是程序的入口点。即主方法。
主方法是静态的,这意味着在主方法调用 的方法也必须是静态的。
主方法是没有返回值的。
应用程序只有一个主方法。
可以向主方法传递参数,数组
package ch03_TestClass; public class MainClass { public static void main(String[] args) { //选择 Eclipse 运行 —》运行配置 -》 x=自变量,在这里输入 system if(args[0].equals("system")) System.out.println("This is System program!"); else System.out.println("This is Application program"); } }
在Eclipse某个类中,可以用鼠标右键选择 源代码-》从超生类中生成构造函数、从字段中生成构造函数、生成 Getter 和 Setter 。
instanceof
String s = "测试这个字符串是不是String类的实例";
System.out.println(s instanceof String);//判断这个变量s是不是字符串
if(tom instance Person) //判断某个对象是不是某个类的实例
类的继承(用关键字:extends)
一个类只能继承一个超类(父类),单继承。但是一个类可以被多个子类所继承。
继承的语法:
class SubClassName extends SuperClassName;
class A { int x; void x(){} } class B extends A { int x; void y(){ x(); } }
类的重载
关键字 super ,表示子类调用父类的方法或变量
嵌套类 及 内部类
abstract 抽象类
语法 : abstract class 类名
接口( interface ),接口是一种特殊形式的抽象类
语法:
interface 接口名
{
接口体
}
接口的实现,使用关键字:implements,可以实现多个接口,中间用逗号隔开
如果一个类使用了某个接口,则这个类必须实现该接口的所有方法,即为这些方法提供方法体。
----------------------------------------------------------------------------
目前操作中,对这些类的接口,继承,抽象,反射,拆箱与装箱,枚举,泛型,注释 这些内容后续再深入学习。
先跳过,学习第6章,字符串处理
----------------------------------------------------------------------------