为了账号安全,请及时绑定邮箱和手机立即绑定

Java笔记2

标签:
Java
  1. Java的两大数据类型:
    内置数据类型:四个整数型,两个浮点型,一种字符类型,还有一种布尔型
    引用数据类型:类,接口,数组
    图片描述
  2. 基本数据类型转换:
    byte-short-int-long-float-double
    char-int
  3. Java中的内存分配:
    3.1,java中的8中原始数据类型,其变量都是在栈中分配空间;而除了8中基本数据类型以外,其他的任何数据都不可以在栈中分配,只能在堆中开辟空间,而在堆中分配的控件又只能通过指针访问。
    3.2,通过指针访问堆内存的方式,在java中被称为引用数据类型;可以认为java中的引用就类似于指针,
    只是对指针进行了一定程度的包装,避免了因直接操作指针而造成的数据意外顺坏,从而导致程序的错误。
  4. 构造函数调用机制:
    java规定,在执行构造函数之前必须执行父类的构造函数,直到这个类是java.lang.Ocject类的构造函数。
    然而构造函数的入口是子类的构造函数,因此任何构造函数的第一句必须是执行父类的构造函数:
    1,如果没有添加super关键字,那么编译器就会默认的为该构造函数第一句添加一个super()语句。
    2,如果子类构造函数中 有super()关键字显示的调用父类的构造函数,否则默认的使用父类的无参构造函数。
    3,特殊:存在this关键字调用本类其它构造函数,但是按照递归调用,最后还是会调用父类构造函数。
    注意:1,如果你继承的父类没有无参构造函数,那么当前这个类第一句必须显示的使用super来调用父类对应的有参构造函数,否则不能通过编译;而在实际中,我们通常会显示的写出父类的无参构造函数。
    2,在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
  5. 接口
    接口中变量默认是public static final ,且必须初始化,在实现类中不能重新定义,也不能改变其值
    接口中的方法默认都是public abstract类型

  6. 异常
    6.1 要理解Java异常处理是如何工作的,需要掌握以下三种类型的异常:
    检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
    运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
    错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
    6.2 在Java中可以自定义异常。编写自己的异常类时需要记住下面的几点。
    • 所有异常都必须是Throwable的子类。
    • 如果希望写一个检查性异常类,则需要继承Exception类。
    • 如果你想写一个运行时异常类,那么需要继承RuntimeException 类。
      6.3 在一个方法中,对于可能抛出的异常,处理的方法有两种:
    • 此方法不处理它产生的异常,只是在方法的头部申明使用throws抛出异常,使异常沿着调用层次向上传递,由使用它的方法来处理这些异常。
    • 用try-catch-finally语句对异常进行及时的处理。
  7. Java语言提供了很多修饰符,主要分为以下两类
    访问修饰符:
    Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java支持4种不同的访问权限。
    默认的,也称为default,在同一包内可见,不使用任何修饰符。
    私有的,以private修饰符指定,在同一类内可见。
    共有的,以public修饰符指定,对所有类可见。
    受保护的,以protected修饰符指定,对同一包内的类和所有子类可见。
    非访问修饰符:
    8.一个类可以包含以下类型变量:
    局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
    (实列变量)成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
    (静态变量)类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
  8. break和continue:
    break跳出最里层的循环,并且继续执行该循环下面的语句。
    continue适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
    注意:在for循环中,continue语句使程序立即跳转到更新语句。
    在while或者do…while循环中,程序立即跳转到布尔表达式的判断语句。
  9. 编译阶段,只是检查参数的引用类型;运行时,运行的是特定对象的方法。
点击查看更多内容
14人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消