对于思维导图的补充

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 包名.*;----表示导入了包中的所有类,但不建议,建议用哪个类就导哪个类

-------因为.*会影响性能

  1. java不建议默认访问权限

  2. 类的访问权限只能是public或默认的,类中成员的访问权限如上4种都可以

  3. 访问权限由小到大依次为: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.文档注释:

  • 是功能性的注释,描述类的功能是什么、方法是干什么的、常量的功能是什么

  • 一般写类、方法、常量的上面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值