java SE02
五、面向对象
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的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
- c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
随机推荐
- 【公式详解】【优秀论文解读】EDPLVO: Efficient Direct Point-Line Visual Odometry
前言 多的不说哈 2022最佳优秀论文 来自美团无人机团队 作者提出了一种使用点和线的高效的直接视觉里程计(visual odometry,VO)算法-- EDPLVO .他们证明了,2D 线上的 3 ...
- 【Redis技术专区】「优化案例」谈谈使用Redis慢查询日志以及Redis慢查询分析指南
前提介绍 本篇文章主要介绍了Redis的执行的慢查询的功能的查询和配置功能,从而可以方便我们在实际工作中,进行分析Redis的性能运行状况以及对应的优化Redis性能的佐证和指标因素. 在我们5.0左 ...
- 字符编码,存储引擎及MySQL字段类型相关知识点
字符编码,存储引擎及MySQL字段类型相关知识点 一.字符编码 1.在终端输入\s,查看数据库的基本信息(当前用户,版本,编码,端口号) 2.默认的配置文件是my-default.ini 拷贝上述的文 ...
- 继承QAbstractTableModel QStyledItemDelegate实现自定义表格,添加进度条和选中框。
由于项目要求,需要实现一个列表目录显示信息,并且需要实现每一项提供进度条和选项框功能,所以需要继承QAbstractTableModel和QStyledItemDelegate进行自定义. -自定义数 ...
- Python 内置界面开发框架 Tkinter入门篇 丙(文末有福利彩蛋,今天可是元宵节)
以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/B1hH5Qzd2RkAiiUId1tLWw 本文大概 2874 个字 ...
- Blazor入门100天 : 身份验证和授权 (6) - 使用 FreeSql orm 管理ids数据
目录 建立默认带身份验证 Blazor 程序 角色/组件/特性/过程逻辑 DB 改 Sqlite 将自定义字段添加到用户表 脚手架拉取IDS文件,本地化资源 freesql 生成实体类,freesql ...
- 第三方模块:requests模块和openpyxl模块
1.第三方模块的下载应由 第三方模块:别人写的模块 一般情况下功能都特别强大 我们如果想使用第三方模块 第一次必须先下载后面才可以反复使用(等同于内置模块) 下载第三方模块的方式 1.pip工具 注意 ...
- Android JetPack~ LiveData (一) 介绍与使用
一般情况下LiveData都是搭配这ViewModel使用,这里先介绍一下LiveData,再结合ViewModel使用 Android数据绑定技术一,企业级开发 Android数据绑定技术二,企业级 ...
- 学习Java Day10
今天学习了数组的相关知识
- 2021级《JAVA语言程序设计》上机考试试题
勉强写完了 Card package Bean; public class Card { private String CardId; private String CardData; private ...