Java基础随笔

  • Java大部分情况下是通过new关键词新建一个对象,跟C++类似,也是将标识符当作一个指针,指向堆中的实际空间。如果直接像C++一样在栈中给对象分配空间,是不行的,没有实际空间。

  • Java的new关键词会给类中变量赋初始值(类似C++中的全局变量),而C++不会。

  • Java有构造函数,但他没有析构函数。

  • 可以将多个类定义在一个.java文件中,但只能有一个类是public。

  • this指针可以代替类的构造函数。

  • Java只能单根继承,C++可以多重继承。

  • 不写extends,默认继承java.lang.Object类,所以Java的类存在一些默认方法。

  • super()是指向父类的应用,类似于this指针。如果子类没有调用父类构造函数,在子类构造函数中会默认调用super(),即调用父类默认构造函数。

  • Java抽象类需要关键字abstract,他没有办法被new,他的子类必须实现父亲们的所有抽象方法,不然也要变成抽象类。

  • 如果一个类中都为抽象函数,那么这个类定义为接口(interface|没有class关键字),一个类可以实现多个接口(implement),接口可以继承多个接口,继承和实现不冲突。

  • 子类可以进行类型转换成父类,父类在一定条件下也可以转换为子类(父类本身由子类得来)。

  • Java中多态不用virtual关键字。不用像C++实现多态用基类指针或者是用函数中的基类引用调用,直接用基类名字就可以实现多态。

  • 静态变量和方法可以直接通过类名调用,静态方法不能引用非静态方法,不能使用非静态变量。

  • 类中方法执行顺序:static代码块(new之前,只执行一次) > 匿名代码块(new之后) >构造函数(new之后)

  • 单例模式:一个类有且只有一个对象

    在Java中通过private隐藏构造函数(只用来new内部的那个static对象),用一个静态方法返回一个自身的static对象来实现单例模式。

  • final类不能被继承

    final方法子类不可修改

    final变量不能更改他的值

    final对象不能修改他的指针,但是可以修改对象里面的值

  • import放在package后面

    package用来给java文件打包,一般用路径作为包名申明在开头

    import用来引用包

转载于:https://www.cnblogs.com/JMWan233/p/11301845.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值