目录

  • 命名
  • 流程控制
  • 方法
  • OOP
  • 异常
  • 其它

命名

变量、方法:驼峰命名
类:首字母大写+驼峰命名

流程控制

增强型for循环:

for(数据类型 名称 : 数组){(操作)
}

(意思是遍历数组,从数组的0号元素开始一个个赋值给冒号左边的)

方法

static,静态方法,跟着类一起加载,所以静态方法不能调用非静态方法,因为非静态方法是跟着对象的创建一起加载的。两者出现的时间顺序不一样。同时,可以直接用类名来调用静态方法。

命令行传参:给main方法传递参数
可变长参数:… 必须放在所有参数最后
递归:自己调用自己

构造方法:

  • 和类名相同

  • 没有返回值

  • 作用:

    1.new的本质在调用构造方法
    2.初始化对象的值

  • 注意:

    定义有参构造后,如果想使用无参构造,必须显式地定义一个无参构造
    IDEA创建构造函数的快捷键:Alt+Ins

  • 其他:
    this. = 意思:等号右边的是传进去的形参,this的那个是当前类自己的参数

OOP

  • 面向对象编程的本质是:以类的方式组织代码,以对象的形式封装数据

java中只有单继承 没有多继承

super:

  • super用来调用父类的东西 但是不能调用父类私有的东西
  • 子类被new了之后先调用了父类的构造函数,因为子类的构造函数里面第一行有一句隐藏代码super();
  • super只能出现在子类的方法或者构造方法中,否则会调用Object类
  • super和this不能同时调用构造方法

重写:
需要有继承关系,子类重写父类的方法

  1. 重写方法名必须相同
  2. 参数列表必须相同(否则变成重载)
  3. 修饰符:范围可以扩大但不能缩小。比如父类是private,子类可以是public。
  4. 抛出的异常:范围可以缩小但不能扩大。
  5. 为什么要重写:父类的功能子类不一定需要或者不一定适合
  6. 重写的快捷键:Alt+Ins:override

静态方法和非静态方法的区别:

静态方法:方法的调用只和左边定义的数据类型有关 如:

A a = new A();
a.test();//调用A类的方法
B b = new A();
b.test();//调用B类的方法

因为static修饰的方法归类所有,叫类的成员,不是对象的成员

非静态方法:只有非静态方法才能被重写

  • 简单来说:静态属于类,非静态属于对象。重写只有方法的重写,没有属性的重写。

多态:

  • 即同一方法可以根据发送对象的不同而采用多种不同的行为方式。(一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类或有关系的类))

1.多态只有方法的多态,属性没有多态
2.父类和子类,有联系,才能多态
3.存在条件:继承关系,方法需要重写,父类引用指向子类对象。
Father f1 = new Son();

  • 这些方法不能被重写:(没有重写自然就没有多态)
    1.static
    2.final
    3.private

运行顺序:

  1. 静态代码块(只执行一次,类加载时执行)
  2. 匿名代码块(跟随对象,对象一创建就会先执行匿名代码块,再执行构造方法)
  3. 构造方法

抽象:

  1. 不能去new抽象类,只能靠子类去实现它
  2. 抽象类中可以写普通方法
  3. 抽象方法必须在抽象类中
  4. 继承了抽象类的子类,都必须要把所有抽象方法实现,除非那个子类也是抽象类
  5. 抽象类不能被实例化

接口:

  1. 接口中所有的定义其实都是抽象的,都是public abstract修饰的
  2. 类可以实现借口 implement接口1,接口2,…
  3. 实现了接口的类,就需要重写接口中的方法
  4. 利用接口实现多继承
  5. 在接口中定义的常量是public static final修饰的
  6. 接口不能被实例化,因为他没有构造方法

java中可以有多个class类,但是只能有一个public class
通过外部类实例化内部类:

Outter outter = new Outter();
Outter.Inner inner = outter.new Inner();

异常

try是监控区域,
catch用于捕获异常并做一些处理处理(从小到大捕获异常),
finally用于处理善后工作(finally无论出现什么都会执行,执行完了再报不能处理的错)
(调出try-catch快捷键:Ctrl + Alt + T)

异常处理的一些经验:

  1. 处理运行异常时,采用逻辑去合理规避,同时辅助try-catch处理
  2. 在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
  3. 对于不确定的代码,也可以加上try-catch,处理潜在的异常
  4. 尽量去处理异常,切忌只是简单地调用printStackTrace()去打印输出
  5. 具体如何处理异常,要根据不同的业务需求和异常类型去决定
  6. 尽量添加finally语句去释放占用的资源(IO之类)

其它

a=10;b=20;
""+a+b //输出:1020
a+b+"" //输出:30
  • 即:若先出现string类型,加号则变成字符串连接符;若先出现运算,则先运算再连接
  • 区间默认为 [ , )

Java学习笔记1(零碎笔记)——基础相关推荐

  1. 【JAVA学习】1、零基础入门Java 基础语法:概念、规则、格式

    [JAVA学习]1.零基础入门Java 基础语法 前言 JAVA开发环境选择 Java 基础概念 Java 标识符 Java修饰符 基础代码模板框架 命名规则 基础规则 后端开发规则 代码格式 前言 ...

  2. java学习之路之javaSE基础1

    <h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解) * A:什么是计算机?计算机在生活中的应 ...

  3. JAVA学习入门2---计算机基础知识

    1.计算机概述 1.1什么是计算机? 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计 ...

  4. java学习之路--零碎的知识笔记

    java运算符: 自增自减运算符: int b = ++a; 拆分运算过程为: a=a+1=4; b=a=4, 最后结果为b=4,a=4 前缀自增自减法(++a,--a): 先进行自增或者自减运算,再 ...

  5. java学习第三天笔记-流程控制语句-分支结构66-if的第二种格式

  6. java学习第十一天笔记-字符串217-根据id查找用户信息

  7. java学习应用:可视化窗口模拟基础聊天窗口(模仿QQ)

    最近在由于学校有个机器人大赛,所以举办方进行了几节java的教学,接下来算是我对最近一些学习的总结,记录一下,有待提高! 一.java可视化窗口JFrame的简单运用,先看看一些简单的效果(真的很基础 ...

  8. Java学习关于集合框架的基础接口--Collection接口

     集合框架(Collection  Framework)是Java最强大的子系统之一,位于java.util 包中.集合框架是一个复杂的接口与和类层次,提供了管理对象组的最新技术.Java集合框架标准 ...

  9. Java学习(二)面向对象基础

    Java面向对象基础 一.面向对象思想 1.编程语言的发展 2.什么是类?什么是对象? 3.面向对象特征 二.类与对象 1.类的声明 2.系统类库 3.访问控制 4.对象的创建和使用 三.方法 1.构 ...

  10. 猿创征文|我的四个月Java学习成长之路——从基础到框架再到项目

    个人简介:  >

最新文章

  1. Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level...
  2. python 网盘多帐号_CuteOne:一款基于Python3的OneDrive多网盘挂载程序,带会员/同步等功能...
  3. Spring MVC 多选框 绑定 Entity 中的 list 属性
  4. C++ 类里面,函数占用存储空间问题
  5. 通知公告阅读日志构建说明
  6. 【初级网络工程师TOP 100 基础问答】来看看你答的上吗?
  7. orakill和alter system kill session的区别
  8. Java黑皮书课后题第6章:**6.28(梅森素数)如果一个素数可以写成2^p-1的形式,其中p是某个正整数,那么这个素数就称作梅森素数。编写程序,找出p≤31的所有梅森素数,然后显示如下结果
  9. iOS 本地化应用程序汇总 国际化
  10. c语言操作目录,c语言中目录及文件操作.doc
  11. MS-SQL (sql server)添加数据库只读用户K3DBSQP,并遍历所有数据库添加访问只读访问权限
  12. 谷歌修复已遭利用的 Chrome 0day
  13. 宏正ATEN发行最新款双滑轨PS/2-USB双界面LCD控制端
  14. 网络协议 21 - RPC 协议(中)- 基于 JSON 的 RESTful 接口协议
  15. 2472 莫斯方块——题解与C++示例代码
  16. 计算机中模板与母版的区别,ppt中母版模板主题版式之间的区别和联系?
  17. etal斜体吗 参考文献_论文参考文献格式要求
  18. 网吧web电影服务器系统,网吧WEB、游戏、影视服务器应用需求分析
  19. oracle 此处不允许序号
  20. 一张图看懂offsetX, clientX, pageX, screenX的区别

热门文章

  1. realloc invalid pointer错误解析
  2. 动态绑定 datagridview
  3. VC中使用ADO的方法
  4. html5 本地保存大数据库,HTML5本地储存 - jellydd的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. java 类型转换 安全_JAVA 类型转换指令
  6. mysql 开发 生产_在没有表锁定的情况下在巨大的MySQL生产表...
  7. textview点击展开全部或收起,内容过长显示省略号,设置行间距,字间距,跑马灯显示
  8. java -jar maven项目打包提示.jar中没有主清单属性
  9. ElasticSearch统计总数据量
  10. 【OS学习笔记】三十三 保护模式九:分页机制对应的汇编代码之---用户程序代码