Java学习笔记——基础篇

Tips1:eclipse中会经常用到System.out.println方法,可以先输入syso,然后eclipse就会自动联想出这个语句了!!

学习笔记:

*包、权限控制

      1、包(package)概念的引入是为了防止类名冲突。package语句要作为java源文件的第一条语句。

      2、两个类在同一个包中,可以相互调用;两个类在不同的包中,若想引用则必须通过import语句导入,格式为:import 包名.子包名.类名。

  3、如果在程序中同时导入了两个包的同类名,则在使用时必须明确的写出完整的“包.类名”,如:access.a.Demo demo1=new access.a.Demo()

  4、private类型的属性和方法,只能在本类中使用;protected类型的属性和方法,只能在本包中使用;public类型的属性和方法在任何地方均可使用。

*继承

  1、继承修饰符与访问限制关系表

      

  如,protected修饰的成员可以被子类、同一个包或者类内部访问。

  2、父类private类型的属性和方法不能被子类继承,父类的构造方法也不能被子类继承。

  3、子类对象实例化时,先调用父类的构造方法,再调用子类本身的构造方法。若父类的构造方法带参数,那么子类在构造方法中要显示地调用super方法(写在首行)。

    4、Java中只允许单继承,即一个类只能继承一个父类。

  5、方法重写(Override):子类中定义了父类中同名的方法。重写的方法必须和被重写的方法具有相同的方法名、参数列表和返回类型

  6、子类重写的方法不能拥有比父类方法更加严格的访问控制权限。静态方法(static修饰)不能被重写,被private修饰的方法不能被重写,如果子类重写编译器并不会报错,但是如果发生向上转型仍然调用父类方法。

  7、初始化顺序:父类静态成员>子类静态成员>父类中的成员(按声明顺序)>父类的构造方法>子类中的成员(按声明顺序)>子类的构造方法。

*多态性

  1、方法重载(Overloading):在同一个类中定了多个同名的方法,但是方法的参数个数、参数类型和返回值类型可能不同,调用时通过传参的类型和个数来决定具体使用哪个方法。

  2、重载方法的方法名要相同,参数类型或参数个数不同,返回值类型可以相同也可以不相同,无法以返回型别作为重载函数的区分标准。

  3、向上转型upcasting:将子类对象赋值给父类对象,向上转型损失了子类新扩展的属性和方法,只剩下父类中声明过的属性和方法;如果对象发生了向上转型关系后,那么调用的方法一定是被子类覆盖掉过的方法。

  4、向下转型downward cast:将父类对象赋值给子类对象。向下转型的前提条件是:必须是曾经做过向上转型的对象才能再向下转型。进行向下转型时必须要明确地指出要转型的子类类型:子类 子类对象=(子类)父类对象。

  5、instanceof操作符:判断一个对象到底是哪个类的实例。用法:对象 instanceof 类,结果返回boolean类型。子类对象既是子类的一个实例又是父类的一个实例

*Object类和equals方法

  1、Java所有的类都有一个公共的父类Object,Object类中包含下面几个主要方法:

    public String toString() //对象输出时调用,默认输出:类名@hashcode,可以重载此方法

    public boolean equals(Object obj) //对象比较

    public int hashCode() //获取对象的hash码

  2、equals方法默认比较的是对象在内存中存放的地址,但如果是自定义的类,可根据需要重写equals方法;  

     ==方法对于基本的数据类型,它比较的是值;而对于复合数据类型,它比较的是对象的地址。

  3、特别指出的是,利用equals比较八大包装类对象(Byte, Boolean, Short, Charecter, Integer, Long, Float, Double)和String类(因为该类已重写了equals和hashcode方法)对象时,默认比较的是值,在比较其它自定义对象时都是比较的引用地址

*Final关键字

  1、final修饰的变量为常量,值不能被修改;final修饰的方法不能被子类重写;final修饰的类不能有子类,即不能被继承(但是该类中的属性和方法仍可以改变)。

  2、常量在声明时就需要为其赋值,如果未赋值就必须在每个构造方法中为其赋值。

  3、final修饰对象时,只是说明该对象的引用是常量,即不能再指向别的对象,但是该对象中的属性值仍然可以被修改。

  4、final static修饰的变量为全局常量,全局常量的所有单词都应该大写。

*Random包

  1、需要导入:java.util.Random包

  2、Random()有两种构造方法:

  Random():创建一个新的随机数生成器。

  Random(long seed):使用单个 long 种子创建一个新的随机数生成器。

     3、你在创建一个Random对象的时候可以给定任意一个合法的种子数,种子数只是随机算法的起源数字,和生成的随机数的区间没有任何关系。但是种子相同的两个Random对象生成的随机数序列(不指定生成数范围)是一样的

   4、在没带参数构造函数生成的Random对象的种子缺省是当前系统时间的毫秒数。

   5、int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。

    int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在[0,n)之间均匀分布的int值。

*容器

  1、HashMap的put方法返回值,如果放入的值存在则返回对应的值,否则返回null

转载于:https://www.cnblogs.com/songshu120/p/4763800.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cda备考学习学习笔记——基础知识(二)主要涉及了计算机科学与技术领域的基本概念和知识。 首先,它介绍了计算机网络的基础知识。网络是将多台计算机通过通信链路连接起来,使它们能够相互通信和共享资源的系统。笔记中详细介绍了网络的组成、拓扑结构和通信协议等重要内容。 其次,笔记还解释了计算机系统的基本组成。计算机系统由硬件和软件两部分组成,其中硬件包括中央处理器、存储器、输入输出设备等,而软件则分为系统软件和应用软件。笔记详细介绍了各种硬件和软件的功能和作用。 此外,笔记还对数据库管理系统进行了介绍。数据库管理系统是一种用于管理和组织数据的软件系统,它能够实现数据的存储、检索和更新等操作。笔记中详细介绍了数据库的概念、结构和操作等内容。 最后,笔记还包括了算法和数据结构的基础知识。算法是解决问题的一系列步骤和规则,而数据结构则是组织和存储数据的方式。笔记中介绍了常用的算法和数据结构,如排序算法、树和图等。 总之,通过学习CDA备考学习笔记中的基础知识(二),我们能够更好地理解计算机网络、计算机系统、数据库管理系统以及算法和数据结构等相关概念和知识。这些基础知识对于我们深入研究计算机科学与技术领域是非常重要的,也为我们日后的学习和工作奠定了坚实的基础

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值