大小写敏感:Java 是大小写敏感的,这就意味着标识符Hello 与 hello 是不同的。
类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass
方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为
方法是可以重名的,我们把这种重名的方法叫 方法的重载
Person (String a , int b);
Person ( int b, String a);//顺序不一样
Person (String a , int b,String c);//个数不一样
Java把内存划分成两种:一种是栈内存,一种是堆内存。
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。
堆内存用来存放由new创建的对象和数组。
栈内存地址不可以在内部被修改。
堆内存地址可以被修改,也就是数组存放在堆内存地址中。
New对象后在堆内存中存储,可以解释单例模式 。
ps:数组创建格式int[] arr = new int[3];当指向内存地址相同时,修改内容发生改变就会改变当前地址。

Java 中主要有如下几种类型的变量
局部变量
类变量(静态变量)
成员变量(非静态变量)
ps:成员变量和局部变量 this指带本类中成员变量,指向内存对象原理
无参构造方法系统自动给定无参构造方法,如果给定构造方法,那么系统不在提供给默认构造方法.建议->无参构造方法
| 区别点 | 方法重载 | 方法重写(覆盖) |
|---|---|---|
| 英文 | Overloading | Overiding |
| 定义 | 方法名称相同,参数的类型或个数不同 | 方法名称、参数类型、返回值类型全部相同 |
| 定义 | 对权限没有要求 | 被重写的方法不能拥有更严格的权限 |
| 范围 | 发生在一个类中 | 发生在继承类中 |
父类中私有方法不能进行重写@override注释重写,子类重写父类方法中访问权限不比父类低(public>默认>私有),与dart中不同.
| Set | List | Map | Queue |
|---|---|---|---|
| 无序、不可重复 | 有序、重复的集合 | 映射关系 | 队列集合实现 |

Map实现类用于保存具有映射关系的数据。Map保存的每项数据都是key-value对,也就是由key和value两个值组成。Map里的key是不可重复的,key用户标识集合里的每项数据。

ArraryList<String> array = new ArrayList<String>();
//add/remove/get


如果一个类被final修饰:
1.修饰方法:表明该方法是最终方法,不能被重写。
2.修饰变量:表明该变量是常量,不能被再次赋值。
3.修饰类,表明该类是最终类不能被继承。


多态中成员变量访问特点:成员变量:编译看左边,执行看左边.成员方法:编译看左边执行看右边.为什么成员方法和成员变量访问不一样呢,因为成员方法有重写,而成员变量没有。
多态的好处就是,使用父类型进行参数传递,弊端就是不能访问子类的特有功能。
上转型&&下转型
上转型:父类的引用指向子类的对象,从子类到父类 父类。
下转型:从父类到子,父类的引用转化为子类的对象。




抽象类必须有继承他的子类,重写抽象类中的所有抽象方法.直接使用抽象类不能进行实例化对象,但是可以通过多态的方式进行实例化.与dart中基本一致,抽象类中可以有构造方法,可以,可以有成员方法.可以提高代码的复用性,父类中的抽象类就是为了限定子类必须重写某些方法。
特点


特点:

公有




dart中一致
指定返回类型



附录:
1.自动生成get/set方法. Alt+Insert,右击选择选中全部生成方法值 ,Ctrl+L格式化


2.return;程序不在向下执行