1.IDE:即integrate development environment,集成开发环境,一整套带图形界面的功能强大的工具,目前最流行的IDE叫Idea;
2.内存单位换算:-----------------背下来
1G=1024M(兆)
1M=1024KB(千字节)
1KB=1024B(字节)
1B=8bit(位)
3.标识符命名法:
-
小驼峰命名法:第1个单词首字母小写,其余单词首字母大写
-
大驼峰命名法/帕斯卡命名法:所有单词首字母大写
4.数据类型分类:基本数据类型和引用数据类型
5.Unicode:万国码、统一码、通用码,世界级通用的定长(固定16位)字符集
6.任何复杂的程序逻辑都可以通过三种结构来实现:
-
顺序结构:从上往下逐行执行,每句必走
-
分支结构:有条件的执行某语句,并非每句必走
-
循环结构
7.生成随机数: 1到1000
Math.random()-------------0.0到0.999999999999999...
*1000---------------------0.0到999.9999999999999...
+1------------------------1.0到1000.999999999999...
(int)---------------------1到1000
8.变量的作用域/范围: 从变量的声明开始,到包含它最近的大括号结束
9.变量的重名问题: 作用域重叠时,变量不能同名
10.\t:水平制表位,固定占8位
11.数组元素的默认值:
byte----0
short----0
int-----0
long----0
lchar-----0
float-----0.0f
double---0.0
boolean---false
引用类型---null
12.异常: ArrayIndexOutOfBoundsException:数组下标越界异常:
-
数组下标为0到(数组长度-1),若超出这个范围则发生数组下标越界异常
13.形参:定义方法时的参数叫形参
实参:调用方法时的参数叫实参
14.
OO:面向对象
OOA:面向对象分析
OOD:面向对象设计
OOP:面向对象编程--------------------------你们以后所参与的
15.高质量的代码:------------------------想拿年薪
复用性好、扩展性好、维护性好、移植性好、健壮性好、可读性好、效率好......
16.类:是一种引用数据类型,是我们自己创造的一种数据类型
17. 引用
数据类型 引用类型变量 指向 对象
Student zs = new Student();
//读作:声明一个Student类型的引用zs,指向了一个学生对象
18.java规定:成员变量和局部变量是可以同名的,使用的时候默认采取的是就近原则
19.构造方法到底要不要参数,要看对象的数据能不能写死
如果对象的数据都一样,意味着可以写死,就不需要传参。
如果对象的数据都不一样,意味着不能写死,那就需要传参。
20.内存管理:由JVM来管理的
-
堆:new出来的对象(包括成员变量)
-
栈:局部变量(包括方法的参数)
-
方法区:--------------面向对象第5天再讨论
21.继承要符合is(是)的关系
22.超类的意义:
-
封装共有的属性和行为----------------------实现代码复用
-
为所有派生类提供了统一的类型----------向上造型(实现代码复用)
23.访问权限常规设置模式:
-
数据(成员变量)私有化(private)
-
行为(方法)公开化(public)------------------绝大部分方法都是公开的
24.成员变量分两种:
-
实例变量:没有static修饰,属于对象的,存储在堆中,有几个对象就有几份
通过对象/引用打点来访问
-
静态变量:有static修饰,属于类的,存储在方法区中,只有一份
25.内存管理:由JVM来管理的
-
堆:new出来的对象(包括实例变量、数组的元素)
-
栈:局部变量(包括方法的参数)
-
方法区:.class字节码文件(包括静态变量、所有方法)
26.图片: 公开的 静态的 图片类型 变量名
public static ImageIcon sea;
27.顺序问题:package----------import-----------class
import 包名.*;----表示导入了包中的所有类,但不建议,建议用哪个类就导哪个类
-------因为.*会影响性能
-
java不建议默认访问权限
-
类的访问权限只能是public或默认的,类中成员的访问权限如上4种都可以
-
访问权限由小到大依次为:private<默认的<protected<public
28.设计规则:
-
将派生类所共有的属性和行为,抽到超类中-------------抽共性
-
若派生类的行为(实现代码)都一样,设计为普通方法
若派生类的行为(实现代码)都不一样,设计为抽象方法
29.抽象方法/抽象类的疑问:
-
抽象方法存在的意义是什么?
-
保证当发生向上造型时,通过超类的引用能点出来那个方法-------保证能点出方法来
-
-
既然抽象方法的意义是保证能点出来,那为什么不设计为普通方法呢?
-
设计为普通方法,意味着派生类可以重写也可以不重写,但设计为抽象方法,则可以强制派生类必须重写--------达到强制派生类重写,统一的目的
-
30.画对象带数:先找main
-
当创建(new)World对象时,就会分配World类中的成员变量(ship,submarines,mines,bombs)
-
frame.setVisible(true);时会自动调用paint()方法,在paint()中:当第1次用到Images类时,会将Images.class加载到方法区中,同时将那一堆静态图片分配到方法区中,同时自动执行静态块给图片赋值
-
ship.paintImage(g);时会去调用paintImage()方法,方法中的this指的就是ship战舰,方法中在判断战舰是否是活着的,若活着则获取战舰的图片,用画笔给画到战舰的x和y坐标上
submarines[i].paintImage(g);时会去调用paintImage()方法,假设submarines[i]为侦察潜艇对象,则方法中的this指的就是侦察潜艇,方法中在判断侦察潜艇是否是活着的,若活着则获取侦察潜艇的图片,用画笔画到侦察潜艇的x和y坐标上 。假设submarines[i]为侦察潜艇对象......
31. 1.隐式的引用:
1)this:指代当前对象
2)super:指代当前对象的超类对象
3)外部类名.this:指代当前对象的外部类对象
2.做功能的套路:
1)先写行为/方法:
1.1)若为派生类所特有的行为,则将方法设计在特定的类中
1.2)若为所有派生类所共有的行为,则将方法设计在超类中
2)窗口调用:
2.1)若为定时(自动)发生的,则在定时器中调用
2.2)若为事件触发的,则在侦听器中调用
3.调用方法的注意事项:
1)若方法是有返回值的,则必须声明对应类型的变量来接收
2)调用时:
2.1)若与方法在同一个类中,则可以直接调用
2.2)若与方法不在同一个类中,则需要通过引用名打点来调用
2.3)若方法为静态的,则直接通过类名打点来调用
4.错误分类:
1)编译错误----都是由于违反语法规则了
2)异常--------运行时发生,找到at后的链接点击
3)程序的运行结果与你所预期的结果不同------------必须得调错
5.如何调错:快速锁定问题方法:
-
将方法调用的代码全都注释掉,然后一个一个放开,
放开哪个出错了,说明问题就出在那个方法上。
-
打桩: System.out.println(数据);
-
32.类中成员的默认访问权限---------默认的
接口中成员的默认访问权限------public的
重写接口中的抽象方法时,必须加public权限
33.类和类------------------------继承
接口和接口------------------继承
类和接口---------------------实现
34.能够造型成为的类型:超类+所实现的接口
35.设计规则:
将所有派生类所共有的属性和行为,抽到超类中-------------抽共性
若派生类的行为(实现代码)都一样,设计为普通方法
若派生类的行为(实现代码)都不一样,设计为抽象方法
将部分派生类所共有的属性和行为,抽到接口中
接口是对继承的单根性的扩展--------------实现多继承
接口是一个标准、一种规范,实现了接口就能干某件事,不实现接口就干不了那个事
36.说明:instanceof会返回true或false的结果
如果满足强转成功的条件则返回true,否则返回false
何时需要强转:向上造型后,若想访问的东西在超类中没有,则需要强转
37.接口的好处:复用性好、扩展性好、维护性好------------------高质量代码
38.字符串内容若做查看操作,那建议用String------------------------------实际应用中一般都是查看
字符串内容若需要做频繁修改操作,那建议用StringBuilder
39.StringBuilder和StringBuffer的区别:-----现在先不要纠结,我先写着,学完线程之后才能理解
-
StringBuilder:非线程安全的,并发处理的,性能稍快
-
StringBuffer:线程安全的,同步处理的,性能稍慢
40.getter/setter:很多框架都是基于getter/setter来取值、赋值的----一种习惯,同时可以控制其他人获取的权限。
41.文档注释:
-
是功能性的注释,描述类的功能是什么、方法是干什么的、常量的功能是什么
-
一般写类、方法、常量的上面