基本概念

来源:互联网 发布:淘宝怎么做全屏海报 编辑:程序博客网 时间:2024/06/04 18:17

1、大小写敏感

2、类名
对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。

3、方法名

4、源文件名
源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。建议一个Java文件里面仅放一个类就好。

5、主方法入口
所有的Java 程序由public static void main(String[] args)方法开始执行。

6、 Java中的每一个类都是从Object类扩展而来。

7、 标识符由字母、数字、下划线、$组成;包名小写;常量所有字母大写,单词之间以下划线分开;

8、抽象类、接口的区别

抽象类 接口 方法不必是抽象 方法一定是抽象 可以有构造方法 没有 方法可以是public、protected的 只能是public 可有静态方法 不能有静态方法 有普通成员变量和静态 变量默认是public static final 一个类继承一个 一个类实现多个

9、包命名
注意:Java的包名都由小写单词组成。
为了保障每个java Package命名的唯一性,在最新的Java编程规范中,要求开发人员在自己定义的包名前加上唯一的前缀。
由于互联网上的域名称是不会重复的,所以多数开发人员采用自己公司在互联网上的域名反转作为自己程序包的唯一前缀。
例如:www.baidu.com,则包名为:com.baidu
一般公司命名为“com.公司名.项目名.模块名….”。

10、变量的作用域
在变量声明的地方开始,到块结束为止;
假如在if里面声明的一个变量,离开就无效了,会被回收。

11、方法参数传递规则
只有一种那就是基于值的传递,基本类型就是其中值的复制,引用类型是引用值地址的复制。

12、重载(overload)、重写(override)
重载:同一个类中可以有多个相同名称的方法,但参数个数或者类型不同
重写:子类的方法可以跟父类中的方法的名称和参数完全相同

13、内部类
内部类:解决多重继承的问题,内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类,对于一个名为outer的外部类和inner内部类,编译完成后,会出现outer.class和outer$inner.class两类
四种:①静态内部类:可访问外部静态资源

package com.wyg.test;import com.wyg.test.Foo.Koo;//外部类相当于一个命名空间public class Test{    public static void main(String[] args){        Koo koo = new Koo();        //或者不导入类包,直接使用Foo.Koo koo = new Foo.Koo();        System.out.println(koo.add());    }}class Foo{    static int a = 2;    static class Koo{        int add(){            return a+1;        }    }}

②成员内部类:可访问外部成员变量和方法,必须要有外部类的实例才能够创建内部类的实例,该内部类不能有静态

package com.wyg.test;import com.wyg.test.Foo.Koo;public class Test{    public static void main(String[] args){        Foo foo = new Foo();        //成员内部类必须以外部类的实例对象来创建        Koo koo = foo.new Koo();        System.out.println(koo.add());    }}class Foo{    int a = 1;    static int b = 2;    class Koo{        //不能有静态的变量或方法        //可以访问所有外部成员        //访问外部同名变量类名.this.变量名        int a = 3;        int add(){            return this.a + Foo.this.a;        }    }}

③局部内部类:声明在方法中的,类似局部变量,

package com.wyg.test;public class Test{    static int a = 11;    public static void main(String[] args){        final int c = 2;        class Foo{            int a = 1;            //不能定义静态成员            public int add(){                //可以访问方法中的final局部变量,同名则会被覆盖                //可以访问外部类的所有变量,如果是同名,则类名.this.变量名                //因这里是在static方法中,所以不能访问外部类的非静态成员                return this.a + Test.this.a + c;            }        }        Foo foo = new Foo();        System.out.println(foo.add());    }}

④匿名内部类:不能写构造器,不能定义任何静态成员包括类,没有访问权限声明,局部内部类规则在此也生效,主要做覆盖抽象类或者接口的方法,然后用多态调用。

package com.wyg.test;public class Test{    public static void main(String[] args){        Foo foo = new Foo(){            int add(){                return a + 1;            }        };        System.out.println(foo.add());    }}class Foo{    int a = 1;    int add(){        return a;    }}

14、继承
1、构造器不能继承
2、子类构造器一定调用父类构造器
3、有super()就不能有this(),必须在构造方法第一行
4、单继承

原创粉丝点击