java编程思想-基础
- interface: 方法默认为public;成员变量默认 static and final
- 对象数组的定义:理解?
- 多接口继承:可以多个接口,但只有一个具体类,具体类在前面
- 自:多接口继承时,来自不同接口的同名方法怎么处理呢?
- java重载不能依靠返回类型加以区分(C++可以),也不能依靠checked 异常类型区分
- 变量定义中的系列定义(逗号隔开):变量名 = 值,其它公共
- 自:类中,自己引用自己的理解(如,链表节点元素)。静态看成动态,编译器的本质实现
- 内部类和普通类区别:内部类可private或protected;普通类只能public或friend修饰
- 自:匿名内部类不可拥有默认构造函数,原因?
- 内部类:
- 类中定义
- 方法内定义
- 作用域内定义(if语句中)
- 向上强制转型:这样完全隐藏了内部类的实现,客户端完全见不到内部类(客户端调用时用的是基类)
- 自:内部类和不同类放到同一个文件中是不同的。一个文件多个类,只有一个类为public(类名同文件名)
- 自:
- 内部类默认是什么访问属性:public还是其它? - 匿名内部类:
- 其实是继承父类或接口的一个类,没有名称
- 语法: new superClassName/Interface([parm] ) { ... },像是实例化一个类,但是后面又跟类定义体
- 匿名内部类不能有构造函数。但是可以通过基类的构造函数传递参数
- 匿名内部类的初始化问题:可通过初始化块进行或定义字段时进行初始化,参数来源于外部的函数参数(匿名内部类和外部通信方式,直接引用外部类的东西,原理和可见性?常用的callback实现情形)
- 匿名内部类如果要使用在匿名内部类外部定义的一个对象,编译器要求外部对象为final属性
- 实例初始化模块中(代码块),可视为匿名内部类的构造函数,不过功能有限(不能重载,即只能有一个构造函数)
- 链接到外部类:内部类可以直接访问外部类的属性 - 静态内部类
- - 引用外部类对象
- 从多重嵌套类中访问外面:
- 内部类继承:只扩展内部类,不扩展其外部类。扩展时,构造函数要引用外部类(不然编译器通不过,继承关系要处理构造函数)
- 内部类的回调使用,《java编程思想》也没讲很容易理解。怎么理解,用途?
- 继承:
- 无参数的构造函数,自动会调用(编译器加入?);有参数构造函数,需要明确指定调用父类构造函数进行初始化(自动化不了)
- 没有指定无参数构造函数,编译器自动会合成构造函数(会自动调用父类构造函数)
- 是否要继承:是否要向上upcasting类型脚本代码
- 自:子类的构造函数要注意:必须正确调用父类构造函数,否则对象不能初始化;
- 自:继承体系结构中,子类和父类对象之间的关系,构造函数调用关系?
- 复杂类构造函数调用过程:假如一个类继承层次很深,构造函数执行时,先从最上层的root级别的构造函数执行,往外逐个执行构造函数,到本层时,按声明属性调用成员变量的初始化,最后执行当前构造函数
- 基类构造函数中的多态方法行为:http://www.huiyi8.com/webyuanma/ - 多态:
- 自:从基类公共方法,同时适用于子类型
- - 抽象类:
- 有抽象方法的类,就是抽象类,抽象类必须用abtract修饰(否则报错),一致性
- 抽象类可以无抽象方法(abstract修饰),可防止实例化 - RTTI:
- 向下类型转换需要用到该功能
- class 类方法的属性,便于判断
- instanceof 操作符
- class.isintance(object)判断函数
- 方法:instanceof;直接类型转换;反射机制; - 多线程:
- 自我理解:
-- 程序代码一份,运行时,多个流程执行
-- 公共资源:内存,静态资源
-- 线程类中的成员变量,不是公共资源,各个线程对象各值有一份
-- synchronized关键字:是对公共资源的访问控制?- 一个对象的所有synchronized方法共享一把锁
- 对于要访问某关键资源的所有方法,都必须把他们设置为synchronized,否则容易出问题
- 同一个线程,多次start,会产生异常
- daemon线程的特点:
- 自:主线程执行完了,但是后台线程仍然在执行,不会随主线程结束,没办法中止进程?
- 例子程序:生产者、消费者,取生产的随机数:思想,过程
- 进度监控:模拟多线程工作(不同max值得count down,然后另外线程显示进度)
- 同步块:
- 状态:wait()和notify()是Object对象的一部分;sleep(),resume(),suspend()是Thread的一部分
-
java编程思想-基础的更多相关文章
- 《java编程思想》--多线程基础--Runnable
一.简单说下Runnable是什么 1.它是一个接口 2.只提供了run方法 3.这个接口提供了一个协议:实现这个接口的类是active的(不必成为Thread的子类) 4.run方法没有返回值 /* ...
- JAVA编程思想(第四版)学习笔记----4.8 switch(知识点已更新)
switch语句和if-else语句不同,switch语句可以有多个可能的执行路径.在第四版java编程思想介绍switch语句的语法格式时写到: switch (integral-selector) ...
- 《java编程思想》读书笔记(一)开篇&第五章(1)
2017 ---新篇章 今天终于找到阅读<java编程思想>这本书方法了,表示打开了一个新世界. 第一章:对象导论 内容不多但也有20页,主要是对整本书的一个概括.因为已经有过完整JAV ...
- Java编程思想——初始化与清理
PS:最近一直忙于项目开发..所以一直没有写博客..趁着空闲期间来一发.. 学习内容: 1.初始化 2.清理 1.初始化 虽然自己的Java基础还是比较良好的..但是在解读编程思想的时候还是发现了 ...
- Java编程思想(11~17)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第十一章 持有对象 11.1 泛型和类型安全的容器>eg: List<St ...
- Java编程思想 (1~10)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第一章 对象导论 1.万物皆对象2.程序就是对象的集合3.每个对象都是由其它对象所构成 ...
- 《Java编程思想》第一二章
前段时间一直通过网络教程学习Java基础,把面向对象部分学完之后本来打算继续深入学习,但是感觉自己操之过急了,基础根本不够扎实,所以入手了一本<Java编程思想>,希望先把基础打好,再深入 ...
- 《Java编程思想》读书笔记
前言 这个月一直没更新,就是一直在读这本<Java编程思想>,这本书可以在Java业界被传神的一本书,无论谁谈起这本书都说好,不管这个人是否真的读过这本书,都说啊,这本书很好.然后再看这边 ...
- Java编程思想阅读收获
15年8月份买了一本Java编程思想第四版中文版.之所以买中文版是因为我试读了同事的英文版发现自己英语水平还是有限,单词虽然认识,但对很多句子把握不准,这样看书太慢了,要理解英文还要理解技术有些hol ...
随机推荐
- springboot使用Mybatis(xml和注解)全解析
刚毕业的第一份工作是 java 开发,项目中需要用到 mybatis,特此记录学习过程,这只是一个简单 demo,mybatis 用法很多不可能全部写出来,有更复杂的需求建议查看 mybatis ...
- PAT1001~1005AC代码
晚上了,睡不着觉,做CF把,太累了,那就来几道乙级的编程小题吧. 1001.卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ( 砍掉一半.这 ...
- utuntu16.04安装caffe+Matlab2017a+opencv3.1+CUDA8.0+cudnn6.0
上午把tensorflow安装好了,下午和晚上装caffe的确很费劲. 默认CUDA,cuDNN可以用了 caffe官方安装教程 有些安装顺序自己也不清楚,简直就是碰运气 1. 安装之前依赖项 Gen ...
- Exchange 2013 Database Move to New Partition
建议不要删除默认数据库,可以通过修改默认数据库名称.路径等实现您的需求. 客戶:The HK Anti-Cancer Society. 要求:遷移數據庫(01)到新分區,實際是遷移成為數據庫(05) ...
- 辛星深入分析vim的自己主动补全功能以及vim的映射
曾经对于vim的自己主动补全功能,都是须要的时候从网上下载点配置项,然后复制到自己的vimrc上去,自己也不知道是什么意思.结果发现搜索到的非常多自己主动补全的方式都非常另类,有的喜欢在补全大括号的时 ...
- Excel应用----制作二级下拉菜单【转】
应用: 原始数据源是两列的源数据,那该如何制作二级下拉菜单, 当然可以将这两列的数据源,转换成上面的那种格式,再用上面的方法来制作. 今天教大学的方法是直接通过这种两列式的数据源来制作下拉菜单,如果A ...
- Python生成8位随机字符串的一些方法
#第一种方法 import random import string seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP ...
- TI C66x DSP 四种内存保护问题 -之- 针对CPU訪问外存(DDR3 or MSM)时的内存保护问题 - 举例
在代码维护中遇到过这种问题,CPU訪问了corePac的外部内存空间0x75510C55地址,即CPU向corePac的L2内存控制器发起了对该内存的訪问,然后L2内存控制器将该请求发给corePac ...
- laravel 配置了自己的域名以后, localhost 无法访问 404 not found 的解决方法
这是后盾网视频教程的方法,应该是配置虚拟主机,此方法要改动,apache服务器里的conf文件夹里的httpd.conf文件 和conf/extral里面的httpd-vhost文件 具体改动为,co ...
- shell-函数、数组、正则
expect ssh远程脚本 expect非交互式 脚本代码如下: #!/usr/bin/expect set timeout spawn ssh -l root 192.168.1.1 expect ...