Java总结

Wesley13
• 阅读 501

在现在这个科技飞速发展的时代,计算机已经悄然走进我们的生活,并且占据了不可动摇与替代的地位,无论是在工作还是生活,学习还是娱乐中,当我们意识到的时候,却突然发现我们已经离不开这个叫做“电脑”的机器了。

既然我们要时刻与电脑打交道,那就像人际交往一样,交流是必不可少的,所以计算机语言应运而生,而java作为一种简单、安全、容易使用、面向兑现、可移植、高性能、多线程的计算机高级语言,受到人们的青睐也是理所当然的了。

在很多人看来,计算机很复杂,有数不清的代码和程序,可以完成各种各样的任务,功能千变万化,要掌握它是一件难比登天的任务,其实不然。计算机这种复杂性,完全是人赋予的,计算机只是单纯的按照人的指令去完成我们想要完成的事情,从这方面看,计算机是简单的,复杂的只是人们要对它说的话而已。其实计算机正像吴老师所说:“相比与人,我更喜欢和计算机打交道,因为它必须要完成人的指令,而不能有丝毫抗拒。”

我总结了一下这个学期我印象深的几点

 一:java语言基础部分

    1:基本数据类型

    java语言有8种基本数据类型:byte(占1个字节),short(占2个字节),int(占4个字节),long(占8个字节),float(占4个字节),double(占8个字节),char(占2个字节),boolean(占1个字节)。

    2:java命名规则:

    包名:所有字母都小写,比如,xxxyyyzzz

    类名,接口名:所有单词首字母大写,比如,XxxYyyZzz

    变量名,函数名:第一个单词小写,其他单词首字母大写,比如,xxxYyyZzz

    常量名:所有字母大写,多单词用下划线分割,比如,XXX_YYY_ZZZ

    3:运算符优先级:

    逻辑与&&      优先级  大于  逻辑或||

          按位与&         优先级  大于  按位或|

    4:JKD1.7 switch表达式的值支持字符串,比如swtich("周一")   ...

    5:高级for循环(这个在遍历集合中很给力)

    格式:for(数据类型 变量名:被遍历的集合(Collection)或数组)   {}

  二:类、对象及特性

    1:类和对象

    类:对现实生活中事物的描述

    对象:就是这类事物中实实在在的个体,java中一切都是对象,具体对象是java在堆内存中用new建立的实体

    2:权限修饰符

      一个.java文件中只能有一个public类

      static: 用于修饰成员(成员变量和成员方法),当成员被static修饰后,该成员可被类名直接调用,类名.静态成员

      static修饰后的特点:

        随着类的加载而加载,优先于对象存在,被所有对象共享,可以被类名直接调用。

        静态方法只能访问静态成员,其方法中不能定义super,this关键字,因为静态优先于对象存在,主函数是静态的

        静态优点:把对象的共享数据单独存储,节省空间,可被类名直接调用。缺点:生命周期过长,访问出现局限(只能访问静态)。

    3:this关键字:代表本类对象,哪个对象调用this所在的函数,this就代表哪个对象

    4:构造函数

      一个类中默认会有一个空参数的构造函数,其权限和所属类的权限一致

      作用是给对象进行初始化,对象一建立就会调用与之对应的构造函数。  

5:特性

    封装:隐藏对象属性和实现细节,仅对外提供公共访问方式,提高复用性和安全性

    继承:必须类与类间有关系才能继承,提高代码复用性,java只支持单继承,但是可以有多层继承,但是可以用实现来弥补

      子类为什么一定要访问父类的构造函数呢:因为父类中的数据,子类是可以直接获取的,所以子类对象在建立的时候,需要先查看父类是如何对这些数据进行初始化的,如果要指定父类中指定的构造函数,可以手动定义super语句来实现。

多态:某一类事物的多种存在形态

      多态的实现:父类的引用指向了自己的子类对象(向上转型)

      多态的前提:类与类之间有关系,继承或实现,通常还存在覆盖

      多态的好处:提高程序扩展性,弊端:父类引用只能访问父类中成员。

 6:抽象类(里面有一些看不懂的东西)哈哈

      抽象方法一定在抽象类中

      抽象方法和抽象类必须被关键字abstract修饰

      抽象类不能用new创建对象,不能实例化,因为没意义,方法没内容

      抽象类中的抽象方法要被使用,必须由子类重写所有的抽象方法后,建立子类对象调用

    7:接口

    接口是对外暴露的规则,是程序的功能扩展,接口可以用来多实现,类与接口是实现关系,类可以继承一个类的同时实现多个接口,接口与接口间可有继承关系。

    接口是特殊的抽象类,接口成员有固定修饰符,常量:public static final 方法:public abstract

    接口不能创建对象,被子类实现后,子类需重写接口中所有抽象方法,这样子类才能实例化,否则子类还是一个抽象类。

    8:重写与重载

    重写:是对父类方法的重写,子父类方法要一模一样

异常处理机制

    java两个重要特性,垃圾回收机制和异常处理机制,使得java没有内存泄露,实现平台无关。

    这个地方注意catch捕捉到异常后要有个处理,不要不写也不要直接toString,printStackTrace(),要处理哦。还有一些必须执行的语句要放到finally代码块中,比如数据库的关闭等。

    throws和throw区别:

      throws使用在函数上,throw使用在函数内

      throws后面跟异常类名,可以跟多个,逗号隔开,throw后跟异常对象。

    自定义异常类,只需继承Exception类,自定义输出内容的话,在构造函数里调用Exception类的构造函数,写super(str)即可,这个str就是你构造函数参数,也就是你自定义的输出内容,哈哈。。。
 好好学习天天向上!!

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
待兔 待兔
2个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
8个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这