Java简介:

Java特点

* 纯面向对象;
* 可移植性高,或者说与平台无关的语言(所有的数据类型在所有的操作系统中占据相同的内存)
* 严格区分大小写;
复制代码

Java两种核心机制: 1、虚拟机;2、垃圾收集;

虚拟机机制的特点:对于不用的平台,有不同的虚拟机,实现“一次编译,随处运行。垃圾收集的特点: 在java程序运行过程中自动进行,程序员无法干预。
复制代码

环境配置:

  • path: windows系统执行命令时要搜寻的路径;
  • classpath: java在编译和运行时要找的class所在的路径。

Java源文件:

  • 以“java”为扩展名,源文件的基本组成部分是类(class):
  • 一个源文件中最多只有一个public类,文件必须按该类名命名(假如有);

java方法:

  • 由一条条语句构成,每个语句以分号结束,类似于其他语言的函数。
  • 要点:形式参数,实参,返回值,返回值类型。
  • 调用方式:对象名.方法名(实参列表)。实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配。
  • return语句:终止方法的运行并制定要返回的数据。

JAVA基础语法:

标识符命名规则:

  • 有字母、下划线“_”、美元“$”或者数字组成;
  • 以除了数字以外的开头;
  • 大小写敏感,长度无限制;
  • 约定俗成的规则:
  • 见名知意;
  • 不能与Java语言的关键字重名;

Java常量:

  • 由字符串表示;
  • 数据类型:
* 整型常量123
* 实型常量3.14
* 字符常量‘a’
* 逻辑常量true、false,
* 字符串常量“helloworld”。
复制代码

java变量——程序中最基本的存储单元。

  • 其要素包括:变量名、变量类型、变量作用域。
  • 声明格式为: 类型 变量名 赋值;
  • 本质上,变量其实是内存中的一小块区域,使用变量名来访问这块区域,使用变量名来访问这块区域。 因此, 每一个变量使用前必须要先 声明、赋值,再使用。
  • 程序执行过程中的内存管理:
heap
stack:存放局部变量
data segment:存放静态变量,字符串常量。
code segment:存放代码。
复制代码
  • 变量的分类:
**** 按照被声明的位置划分:
* 局部变量:方法体内声明的变量,包括形参;
* 成员变量:f在方法体外,类体内声明的变量;
**** 按所属的数据类型划分:
** 基本数据类型变量:
*整数类型——byte,short,int,long:
数值范围和字段长度不受操作系统的影响,以保证Java程序的可移植性;
整型常量的表示形式:十进制,八进制以0开头,十六进制以0x开头;
默认为int型,声明long型常量在数值后加‘l’或者‘L’。
*浮点类型——float,double:
表现形式:十进制、科学记数法形式:
3.14e2代表:3.14 x 10^2;
Javas浮点型默认为double型,声明folat在数字后加‘f’或者‘F’;
*字符型char:采用Unicode编码,每个字符占两个字节,十六进制;
*布尔型boolean。
** 引用数据类型变量:类、接口、数组。
复制代码
  • 基本类型转换原则:
* boolean类型不可以转换为其他的数据类型。
* 整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
容量小的类型自动转换为容量大的数据类型;
* 数据类型按容量大小排序为:
* byte,short,char-int-long一>float->double
* byte,short,char之间不会互相转换,他们三者在计算时首先回转换为int类型
* 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。
* 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。
复制代码

循环语句: if,while,do-while.

条件语句: switch。

对象和类的概念:

对象用计算机语言对问题域中事物的描述,对象通过“属性< attribute >和方法
( method )”来分别对应事物所具有的静态属性和动态属性。   类是用于描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所因
具有的静态和动态属性。   类可以看成一类对象的模板,对象可以看成该类的一个具体实例。
复制代码

构造方法:

* 使用new十构造方法创建一个新的对象。
* 构造函数是定义在Java类中的一个用来初始化对象的函数。
* 构造函数与类同名且没有返回信。
复制代码

方法的重载:

* .方法的一是指一个类中可以定义有相同的名字,但参数不同的多个方法。
* 调用会根据不同的参数表选择对应的方法。
复制代码

this 关键字:

* 在类的方法定义中使用的this关键字代表使用该方法的对象的引用。
* 当必须指出当前使用方法的对象是谁时要使用this。
* 有时使用this可以处理方法中成员变量和参数重名的情况。
* this可以看作是一个变量,它的值是当前对象的引用
复制代码

static 关键字:

* 在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第
一次使用时被初始化,对于该类的所以对象来说,static成员变量只有一份。
* 用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给
它,所以在static方法中不可访问非static的成员。
* 静态方法不再是针对于某个对象调用,所以不能访问非静态成员
* 可以通过对象引用或类名(不需要实例化)访问静态成员。
复制代码

super 关键字: 在java类中使用super来引用基类的属性或者方法。

package语句:

  • package语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包。 (若缺省该语句,则指定为无名包)。
  • 它的格式为:
    package pkg1[.pkg2[.pkg3...]]
  • Java编译器把包对应于文件系统的目录管理,package语句中,用‘.’来指明包 (目录)的层次。

import语句: 可以使用import在文件的开头引入要使用到的类。

访问控制:

  • Java权限修饰符public protected private置于类的成员定义前,用来限定其它对象对该类对象成员的访问权限。
  • 对于CiaSS的权限修饰只可以用public和defaulto
* public类可以在任意地方被访问
* default类只可以被同一个包内部的类访问
复制代码

类的继承:

  • java中使用extends关键字实现类的继承机制
  • 通过继承,子类自动拥有了基类(superclass)的所有成员(属性和方法)。
  • java只支持单继承,不允许多继承。即:一个子类只能有一个基类,一个基类可以派生出多个子类。

方法的重写:

  • 在子类中可以根据需要对从基类中继承来的方法进行重写。
  • 重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。
  • 重写方法不能使用比被重写方法更严格的访问权限。

Object类:
Object类是所有java类的根基类,如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类。

对象转型:

  • 一个基类的引用类型变量可以“指向’其子类的对象。
  • 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。
  • 可以使用引用变量i nstanceof类名来判断该引用型变量所“指向”的对象是否属于该类或该类的子类。
  • 子类的对象可以当作基类的对象来使用称作向上转型(upcasting ),反之称为向下转型Cdawncasting)

动态绑定和多态: 动态绑定是指在执行期间(而非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。

抽象类:

  • 用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。
  • 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
  • 抽象类不能被实例化。抽象方法只需声明,而不需实现。

final 关键字:

  • final的变量的值不能够被改变
* final的成员变量
* final的局部变量(形参)
复制代码
  • final的方法不能够被重写
  • fiinal的类不能够被继承

接口:

  • 接口(interface)是抽象方法和常量值的定义的集合。
  • 从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
  • 接口特性:
* 多个无关的类可以实现同一个接口。
* 一个类可以实现多个无关的接口。
* 与继承关系类似,接口与实现类之间存在多态性。
* 接口中声明属性默认为public static final的;也只能是public static final的;
* 接口中只能定义抽象方法,而且这些方法默认为public的、也只能是public的;
* 接口可以继承其它的接口,并添加新的属性和抽象方法。
复制代码

转载于:https://juejin.im/post/5abf73286fb9a028cd45383d

学习Java笔记2018.3.31相关推荐

  1. 学习Java笔记(一)

    1.父类方法使用private声明可以进行覆写吗? 答:不可以. class A{public void fun(){this.print();}private void print(){System ...

  2. 2022.0727学习Java笔记之多线程编程(二)

    多线程的操作方法 多线程的操作方法基本上都在Thread类之中定义的,所以研究方法也就是一个Thread类的翻译,那么下面主要看三组方法. 1.线程的命名和取得 在整个多线程的操作之中,名称是最重要的 ...

  3. 慕课Java第三季学习及笔记整理

    学习网址及截图和部分图片来源:https://www.imooc.com/learn/110 慕课Java第三季学习及笔记整理 一.异常与异常处理 1-1 java异常简介 概念 异常体系结构 1-2 ...

  4. 课堂笔记学习java(初级)

      这是有关Java语言基础的,偶这学期专业课开始学习java,希望通过此贴把偶的课堂笔记与大家分享,与初学者共同从零学起,还请各位高手随时指点,引导大家把基础打好,谢谢 .    现在每周两节课,偶 ...

  5. 学java怎么做笔记?如何整理java笔记?java学习笔记

    许多开始学Java编程的朋友,都是跟着视频学习的,知道要记笔记,但又不知如何下手.其实笔记主要的还是记框架以及自己能感觉到不懂得地方方便巩固加深印象,笔记不要记得密密麻麻的看着就让人感觉头疼,学习编程 ...

  6. 零基础学习Java开发,这些学习笔记送给你!

    因为Java具备很多特点,并且在企业中被广泛应用为此很多小伙伴选择学习Java基础开发,但是零基础学习Java技术开发需要我们制定Java学习路线图对于我们之后的学习会非常有帮助. 零基础学习Java ...

  7. 零基础学习Java开发,这些学习笔记送给你

    因为Java具备很多特点,并且在企业中被广泛应用为此很多小伙伴选择学习Java基础开发,但是零基础学习Java技术开发需要我们制定Java学习路线图对于我们之后的学习会非常有帮助. 零基础学习Java ...

  8. Java开发2018年值得学习的10大技术

    转载自 Java开发2018年值得学习的10大技术 作为一个开发人员,我们最大的挑战就是保持自己了解新的技术.技术变化很快,你大概每两年就会看到一个新版本的编程语言和框架. 就拿2017年来说,AR. ...

  9. Java -考研 学习路线(笔记链接汇总)-个人用

    文章目录 1. Java 学习路线 1.1 JavaSE 1.1.1 C 语言基础 1.1.2 面对对象程序设计C++ 1.1.3 Java 基础 1) 基础 2) GUI 3) 网络编程 4) 多线 ...

最新文章

  1. 将文本随意插入网页表单的 textarea
  2. javascript篇-知道value值,返回对象中的key值
  3. Linux下,安装配置Weblogic
  4. 转发: Visual Studio 2005常用插件
  5. hbuilder版本更新失败_初试vue-cli使用HBuilderx打包app的坑
  6. Spring框架第一天
  7. sql max同一行_SQL 打印矩阵(三)
  8. PHP_CodeSniffer HG 服务端部署篇
  9. 排错解决:etcd节点掉线后(code=exited, status=1/FAILURE),如何加入
  10. 为什么我们要学习C语言?
  11. iTunes修改备份文件路径
  12. Wordpress红色财经股票外汇网站主题 pron-red
  13. Normal Equations 的由来
  14. http拒绝服务攻击(Avws复现)
  15. plotly入门(vue项目中)
  16. R039---超越容易实现的目标,成功地扩展RPA的重要性
  17. OpenGL总结15-光照模型
  18. 蚂蚁能量助手v1.0下载App安卓
  19. XML Explorer(简单易用的XML中文编辑器)
  20. 8.fireworks

热门文章

  1. Python之UDP通讯简单例子
  2. qml入门学习(八):通过loader对象动态加载和移除组件
  3. 计算机上配置的网卡实际上是,()计算机上配置的网卡,实质上是_ ___。
  4. 处理mp3_如何把MP3转换成FLAC格式?这三个方法简单快速
  5. php布尔类型代码,PHP数据类型之布尔型的介绍
  6. python从大到小排序_python作业:用嵌套的列表存储学生成绩数据,并编程完成如下操作...
  7. MACAPP中引入ffmpeg库完成具体功能
  8. java 双循环是如何执行的_java – 双循环赛
  9. c语言程序员算法题库,100个超级经典地C语言算法,程序员必须练习.doc
  10. C语言运算符优先级和结合性