五、面向对象

1. 封装

  • 高内聚,低耦合
  • 属性私有,get/set

2. 多态

  • 属性没有多态

    a. 条件
  • 有继承关系
  • 父类引用指向子类的对象
  • 子类重写父类方法

3. 继承

  • 子类拥有父类的全部特性
  • 单继承,但可以实现多个接口
  • extands
  • 所有的类都默认直接或间接继承Object

六、内部类

1. 局部内部类

  • 内部类可以直接获取外部类私有属性和方法
class Outter {
private int id=10;
public void out() {
System.out.println("这事外部类的方法");
}
class Inner { //内部类
public void in() {
System.out.println("这是内部类的方法");
}
//获得外部类的私有属性
public void getId() {
System.out.println(id);
}
}
}
public class Test{
public static void main(String[] args){
Outer outer=new Outer();
//通过外部类实例化内部类
Outer.Inner inner=outer.new Inner;
inner.in;
inner.getId;
}
}

输出结果:

这是内部类的方法
10

2. 局部内部类

  • 一个java文件只能有一个public class类,但可以有多个class类
  • 局部内部类是定义在一个方法或者一个作用域里面的类
public class Outter{
public void method(){
//局部内部类
class B{
public void in() {
}
}
}
}

3. 静态内部类

public class Outter{
public void method(){
//局部内部类
static class B{
public void in() {
}
}
}
}

4.匿名内部类

public class Test{
public static void main(String[] args){
//没有名字初始化类,不用将实例保存到变量中
new Apple().eat()
}
}
class Apple{
public void in() {
System.out.println("1");
}
}

输出结果:

1

七、异常

1. 五个关键字

  • try{}
  • catch(){} 先大后小
  • finally{}
  • throw 手动抛出异常
  • throws 方法抛出异常

2. 自定义异常

  • 继承Exception类即可
public class MyException extends Exception{
//if n>10 exception
private int n;
public MyException(int n){
this.n=n;
}
//抛出异常打印信息
@Override
public String toString() {
return "MyException{" + n +'}';
}
}
public class Test {
public static void main(String[] args) {
int a=11;
try {
test(a);
} catch (MyException e) {
System.out.println("MyException=>"+e);
}
}
static void test(int a) throws MyException {
System.out.println("传入的数字为:"+a);
if (a>10){
throw new MyException(a);//抛出异常
}
System.out.println("OK");
}
}

输出结果:

传入的数字为:11
MyException=>MyException{11}

java SE02的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

  10. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

随机推荐

  1. Python 常用库函数

    压缩 zlib: 兼容gzip的压缩 gzip: 对gzip文件的支持 bz2: 对bzip2压缩的支持 lzma: 使用LZMA算法的压缩 zipfile: 操作ZIP存档 tarfile: 读取t ...

  2. Cert Manager 申请SSL证书流程及相关概念-三

    中英文对照表 英文 英文 - K8S CRD 中文 备注 certificates Certificate 证书 certificates.cert-manager.io/v1 certificate ...

  3. Echarts 折线图Demo调色12种,可以直接使用~~~

    测试Demo代码~~ <template> <div> <div id="myChart" ref="mapBox" style= ...

  4. AR Engine毫秒级平面检测,带来更准确的呈现效果

    近年来,AR版块成为时下大热,这是一种将现实环境中不存在的虚拟物体融合到真实环境里的技术,用户借助显示设备可以拥有真实的感官体验.AR的应用场景十分广泛,涉及娱乐.社交.广告.购物.教育等领域:AR可 ...

  5. 日志添加request-id

    package com.xf.config; import java.util.Date; import javax.servlet.http.HttpServletRequest; import j ...

  6. MySQL-字段约束条件

    1.无符号.零填充 1.unsigned:用在生成表的过程中,表示不取负数,只取正数和0,负数会直接报错,eg:id int unsigned. 2.zerofill:用在生成表的过程中,跟在整形2后 ...

  7. JAVA虚拟机06-垃圾回收及引用类型

    Java和C++之间有一堵由内存自动分配和垃圾收集技术围成的高墙 1.了解垃圾收集.内存自动分配的意义 2.JAVA虚拟机各个区域的垃圾回收简介 3.判断对象是否存活 3.1引用计数算法 3.2可达性 ...

  8. JSON Crack 数据可视化工具

    JSON Crack简介 JSON Crack 是一个很方便的 JSON 数据可视化工具. 该项目不是简单的展示 JSON 数据,而是将其转化为类似思维导图的形式,支持放大/缩小.展开/收缩.搜索节点 ...

  9. 影片自由,丝滑流畅,Docker容器基于WebDav协议通过Alist挂载(百度网盘/阿里云盘)Python3.10接入

    使用过NAS(Network Attached Storage)的朋友都知道,它可以通过局域网将本地硬盘转换为局域网内的"网盘",简单理解就是搭建自己的"私有云" ...

  10. 微信小程序wxs封装使用以及公共js组件封装

    wxs封装 wxs可以直接写在wxml页面中,并且在对应的位置调用,比如在{{ xxx.xxx() }}调用wxs的函数 <view> <view>第{{m1.getMax(1 ...