Java学习笔记--(含与c++比较的一些个人理解)

最合适学习的时间点有两个,一个是1年前,一个是现在。

[1]      Java综述:

1.      先编译(成.class)后解释(由不同系统下的jvm)

2.      Jdk:java sdk和jvm

3.      Oo:java纯面向对象,不允许全局的数据和函数,所有代码都在类的内部

4.      环境:javac和java指令,为项目添加项目依赖,自定义类库,类库

[2]      基本语法:

1.      常量:final--c++:const,只能初始化不许赋值

2.      变量:

3.      静态:static—一致,静态变量和类相关(和方法一起存在方法区),和实例无关

4.      char:占16位,中文字也是用一个char来表示

5.      boolean:--bool,不能与整数互换

6.      运算法:正负数符号+/- --

7.      异或位运算:公式1异或两次相同的数,值不变;应用:两数交换

[3]      流程控制:

1.      if:一致,

2.      switch:一致

3.      循环:foreach,类似脚本语言中的遍历数组

[4]      Eclipse

1.      导入和导出

[5]      OO

1.      类:--声明格式不同public class Fruit extends Plants implements []{}

2.      对类访问控制:类可以访问包中其他类,还可以访问其他包中public类 – 只用对类成员的访问控制

3.      .java:一个源文件里只能有一个public类(且要同名) --  无关

4.      成员:更多的修饰符,可以对非静态成员赋初值 – 除了静态其他都只能在构造函数里初始化

5.      New:给一个引用赋值 --- 返回一个指针

6.      释放:垃圾回收机制 –手动delete或者利用智能指针计数

7.      包:包含多个类,访问控制以包为单位—namespace

8.      Import:import 包.类|* 直接导入类的源文件 -- #include ”*.h”导入类头文件申明

9.      继承:extends 父类只允许单继承,只继承能被使用的--- :public(等)父类名,拥有父类的完整内存

10.  This:自身的引用– 指向自己的指针

11.  Super:显示调用父类成员– 利用作用域符号::,如父类::成员

12.  多态:重载,参数不同的同名函数 —和c++一致

13.  覆盖:产生了多态,所有函数都在方法表中 – virtual才产生多态,只有虚函数在虚表

14.  参数是基类时多态:java是引用赋值,自然多态– 必须是基类指针或者引用类型

15.  子类到父类转换:Base b=new derived d

1变量不会被覆盖只是隐藏了2new子类时生成了子类堆区和方法区 3(引用)赋值后发现原来是一个父类实例,堆区里原来隐藏的回来了,但是方法区里已经被覆盖回不来了(子类特有的方法也没有使用了)

16.  抽象类:abstractclass 类名 ,不能实例化– 具有纯虚函数virtual void fun()=0的类

17.  抽象方法:没有实现的函数 – 纯虚函数

18.  final类:不能有子类,不能被动态修改—无

19.  final方法:不能被改动的方法,无法被子类重写,private方法自动成为final – 无

20.  接口:格式 publicinterface 接口名 extends 父接口   -- 类似一个虚基类

21.  接口成员:必须是public

22.  实现接口:类 implements接口1,接口2   -- 多继承,同名函数只要是实现一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值