JavaSE的知识
一 SE的知识体系:
- java基础:
- 一基础语法
- 8个基本数据类型——>8个包装类
- 数据类型转换:
- 自动转换(从小到大)
- 强制转换(从大到小)
- 注意:int 和char
- 分支与判断:
- if(){}
- if (){}else{}
- if(){}else if(){}...else{}//多次判断
- if(){if(){}}else{} //嵌套判断
- 判断条件 ?表达式1 :表达式2;//三目运算
- switch(变量:int byte enum char String){case : ; break;} 注意: break的使用!
- 循环:(重点,必须掌握)
- while
- do while
- for
- for(数据类型 变量: 数组或集合)(foreach) 例如:以下的代码不推荐(效率低) for(int i=0;i<list.size;i++){ list.get(i); } //以上的代码应改为(效率高) int size = list.size(); for(int i=0;i<size;i++){ list.get(i); }
- 数组:是引用类型
- 特点:内存连续、通过下标操作、数据类型相同
- int[] arr = new int[];
- int[] arr = {2,3,4,4};
- int[] arr = new int[]{1,2,3};
- 类与对象:
- 对象:是一个具体的拥有一个特征和行为的事物。
- 类:是抽象的,某些具有相同的特征和行为的实务的集合(抽象)。
- 类是模板,对象是通过类创建出来的。
- java的程序的最小单位是类。
- 类的构成:
- 属性
- 读写属性(常用的)
- 只读(保护)
- 只写(隐藏:安全)
- 静态属性(类属性)
- 方法
- 实例方法
- 类(静态)方法
- 构造方法
- 注意:1:无返回值 2:名称与类同名 3:不能显示调用
- jvm提供一个默认构造器,一旦声明带参构造,默认构造就不存在
- 抽象方法
- 特点:没有方法体(实现)
- 作用:让方法重写
- 本地方法(native:调用本地api)
- 代码块
- {}//构造块
- static{//静态块}
- 属性
- 一基础语法
当我们创建(实例化)对象时,先执行类加载器(把要创建的类的对应的class文件加载到内存中,jvm完成对class文件的检验工作),首先执行静态块,然后执行构造块,最后执行构造器。
A a = new A();
class A{
static{
//静态块:只执行一次且在类被加载后马上执行
//优先于构造块
//全局的且比较消耗资源的:例如数据库连接
}
{
//构造块,每次创建对象时,都会调用
//优先于构造方法执行的
}
public void show(){
A a = new A();
a.show();
disp();//OK
//A();//显示调用构造器,错误!
}
public static void disp(){
A.disp();
show();//不能: 静态只能访问静态
}
}
2、二 面向对象:
- 封装:隐藏代码实现
- 继承:代码重用
- 多态:多种实现
- 封装通过private且提供对应的get和set方法
- 类就是对数据和操作的封装
- 继承的实现:通过extends实现
- 继承是 is a的关系
- 继承的注意:
- 子类会继承父类(除构造)以外的所有成员(包括私有的)。
- 子类就可以对父类的方法进行Override(重写)
- 子类要比父类"大"(子类包含父类)
- 父类与子类存在的类型转换(向下转型)instanceof
- 子类在访问父类的protected的属性和方法时,不能通过父类的引用进行调用,可以使用this或super直接调用
- java的继承是单根继承(一个类最多只能有一个父类,一个父类可以有多个子类)
- 当使用父类的引用创建子类对象时(多态的调用),此时调用的发放是子类的
- 属性是不支持重写的!
- 继承的注意:
JavaSE的知识的更多相关文章
- JavaSE基础知识总结
最近回顾了一下Java的基础知识,决定写成博客梳理一遍,主要是JavaSE部分最基础的知识,适合考前突击,学后回顾,不适合作为初学材料. 简单的列个目录吧: 一.数据类型和运算符 二.流程控制与数组 ...
- JavaSE核心知识
一:Java简介 1. Java语言的介绍:Java是一门面向对象编程语言,具有功能强大和简单易用两个特征. 2. Java语言的特点:简单性.面向对象.分布式.健壮性.安全性.平台独立与可移植性.多 ...
- JavaSE基础知识(1)—初识Java
一.JAVA的背景 JAVA本身隶属的公司的是sun公司(创始公司) JAVA创始人:詹姆斯 高斯林 09年被oracle收购 JAVA的前身是Oak 二.JAVA的版本 95年 JAVA诞生96年 ...
- JavaSE 基础知识(常识概念 + 基础语法)问答总结/面试题 —— 讲给应届生的 Java 开源知识项目
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...
- javaSE基础知识(走向编程的门口)— 更新完毕
前言:玩儿编程最重要的一点:不要怕麻烦,感觉是在浪费时间: 能动手绝不哔哔:只要脑袋不傻,编程都是"一看就会,一练就废",开始学的时候,就算再基础的东西都建议手敲一遍 要有囫囵吞枣 ...
- javaSE基础知识
JVM,JRE,JDK三者的简单总结 1.见名解释 Java虚拟机(JVM):Java virtual machine简称JVM:“virtual”中文意思“虚拟的”,“machine”中文意思“机器 ...
- JavaSE基础知识(7)—常用类
一.包装类 1.理解 java为八大基本数据类型一一对应提供了引用类型,方便使用里面的属性和方法 2.包装类型 byte——>Byteshort——>Shortint——>Integ ...
- JavaSE基础知识(6)—异常和异常处理
一.异常的理解及体系结构图 1.理解 异常:程序运行过程中发生的不正常现象.java中的错误: 语法错误 运行异常 逻辑错误 2.体系图 java程序在执行过程中所发生的异常分为两类: Error:J ...
- JavaSE基础知识(5)—面向对象(抽象类和接口)
一.抽象类 1.理解 用abstract关键字定义的类,称为抽象类用abstract关键字定义的方法,称为抽象方法意义:当设计父类时,发现该父类根本不需要创建对象,并且里面有不好描述的方法.这个时候往 ...
随机推荐
- Wireshark分析器分析数据流过程
Wireshark分析器分析数据流过程 分析包是Wireshark最强大的功能之一.分析数据流过程就是将数据转换为可以理解的请求.应答.拒绝和重发等.帧包括了从捕获引擎或监听库到核心引擎的信息.Wir ...
- C# 新技巧(一)
概述:所有代码均来自MVC源码的阅读.实际上,也是框架开发中常用的技巧. 1.使用Empty模式处理空对象 return Enumerable.Empty<ModelValidationResu ...
- phpStudy启动失败时的解决方法
phpStudy启动失败时的解决方法 phpStudy启动失败,原因一是防火墙拦截,二是80端口已经被别的程序占用,如IIS,迅雷等:三是没有安装VC9运行库,php和apache都是VC9编译.解决 ...
- BZOJ3828 : [Poi2014]Criminals
对于每个位置求出L[i]表示左边最大的j,满足从j开始到i-1中存在第一个子序列 R[i]表示右边最小的j,满足从j开始到i-1中存在第二个子序列 然后枚举颜色是相遇点的位置,如果L[i]左边.R[i ...
- Transactional topologies —— 事务拓扑
事务拓扑是怎么回事? Storm guarantees that every message will be played through the topology at least once. St ...
- TYVJ P1015 公路乘车 &&洛谷 P1192 台阶问题 Label:dp
题目描述 有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式. 输入输出格式 输入格式: 输入文件的仅包含两个正整数N,K. 输出格式: 输入文件s ...
- HDU 4419 Colourful Rectangle(线段树+扫描线)
题目链接 主要是pushup的代码,其他和区间更新+扫描线差不多. 那个区间如果要再刷一层x,那么sum[x][rt] = que[r+1] - que[l];但是如果原本有颜色为i,颜色将会变成i| ...
- POJ 2948 Martian Mining(DP)这是POJ第200道,居然没发现
题目链接 两种矿石,Y和B,Y只能从从右到左,B是从下到上,每个空格只能是上下或者左右,具体看图.求左端+上端最大值. 很容易发现如果想最优,分界线一定是不下降的,分界线上面全是往上,分界线下面都是往 ...
- DELPHI的split函数的各种实现方法(转)
一.单字符 function split(s,s1:string):TStringList;beginResult:=TStringList.Create;while Pos(s1,s)>0 d ...
- CentoS 下报的 Requires: perl(:MODULE_COMPAT_5.8.8)
yum error requires: libtcmalloc.so.4 rpm -Uvh http://ceph.com/rpm-cuttlefish/el6/x86_64/ceph-release ...