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#多用于业务系统的开发 ...
随机推荐
- awk 入门
参考资料:awk从放弃到入门(1):awk基础 (通俗易懂,快进来看)-朱双印博客 (zsythink.net) awk系列博文直达链接:AWK命令总结之从放弃到入门 我们先来用专业的术语描述一下aw ...
- windows消息处理机制
三层机制 1.顶端就是Windows内核.Windows内核维护着一个消息队列,第二级控制中心从这个消息队列中获取属于自己管辖的消息,后做出处理,有些消息直接处理掉,有些还要发送给下一级窗体(Wind ...
- OPA-CH32x系列芯片OPA使用注意事项
1 OPA运放基本功能说明 1.1 OPA引脚详细说明方式 说明方式1如下所示: OPN0.OPP0.OPO为OPA的第0通道 OPN0:OPA_0通道的N端 OPP0:OPA_0通道的P端 OPO: ...
- 转载:SQL分页查询总结
[转载]SQL分页查询总结 开发过程中经常遇到分页的需求,今天在此总结一下吧. 简单说来方法有两种,一种在源上控制,一种在端上控制.源上控制把分页逻辑放在SQL层:端上控制一次性获取所有数据,把 ...
- 结对项目总结 -- 基于Qt开发的win10桌面应用
担任角色 在这次结对项目中,由于采用了我的个人项目作为参考,所以我继续担任后端开发的角色. 开发环境 前端采用Qt Creator4.13.2 (Community) 后端采用C++ 如何复用个人项目 ...
- 快速实现一个简单阉割版的HashMap
简单实现一个底层数据结构为数组 + 链表的HashMap,不考虑链表长度超过8个时变为红黑树的情况. 1.示例图 2.分析需求 put数据时: key值hash后的索引处没有元素,需要创建链表头节点, ...
- 真正“搞”懂HTTP协议10之缓存控制
HTTP缓存相关的问题好像是前端面试中比较常见的问题了,上来就会问什么cache-control字段有哪些,有啥区别啥的.嗯--说实话,我觉得至少在本篇来说,HTTP缓存还算不上复杂,只是字段稍微多了 ...
- 线程、GIL、协程
1.多进程实现TCP服务端并发 1.之前我们学习了一个服务端对应一个客户端的操作,但是我们无法实现一个服务端对应多个客户端的操作.因此我们需要在pycharm的右上角点击倒三角,选择Edit Conf ...
- Cpp 友元简述
友元函数,友元类 使用友元,主要是易于直接访问数据,但友元本质是以破坏封装性为代价. 下例引用于: <C++程序设计(第2版)> 友元声明位置由程序设计者决定,且不受类中public.pr ...
- 利用Git+GitHub进行团队协作开发
自己之前写过两篇关于Git和GItHub使用的文章,分别是 浅谈使用git 进行版本控制博客链接:https://www.cnblogs.com/wj-1314/p/7992543.html 使用Gi ...