Java(1-15)
1、方法参数是引用类型,传递的是内存地址!
2、方法的重载特性:在同一个类中,允许方法同名,只要方法的参数列表不同即可!
3、Stirng特殊在如果静态数据区中存在,那么不创建新的对象,而是指向这个对象。
4、String str="scce"; //这是在静态数据区创建了一个对象
5、String str2="scce"; //创建静态数据对象是先在静态数据区查,如果存在则不创建新的,保证静态数据区中的数据只有一份
6、String str2=new String("scce"); str==str2返回false //在堆中创建一个对象,引用值当然不同
7、创建类(功能组件),创建引用类型变量,new两次的出来的类是在堆内存中开辟空间的两个不同模块和内存地址,内存中将有自己的属性,通过存放在栈内存的不同变量p1和p2指向对应的内存地址。
8、对于性别等单字眼字符,使用char比string更节约内存。
9、ArrayList集合创建格式?它与数组的区别是前者只存引用类型。这些都要搞清楚。
ArrayList集合(String类型)创建格式:
ArrayList<String> arr = new ArrayList<String> ();
数组创建方式:
String[] arr = new String[length];
String[] arr = {"1","2","3"}
10、集合存储的数据,8个基本数据类型对应8个引用数据类型。(存储引用数据类型,不存储基本数据类型)
11、数组的弊端是定长。
12、集合的好处是任意数据的添加和删除,而数组不行。
13、注意for循环不能用return,人才啊,草。
14、char转成int类型的时候,类型自动提升,char数据类型,会查找ASCII编码表,得到整数。(char 两个字节 int 四个字节)=》 自动提升:char j = ‘a’; int i = j + 1; 强制转换:int j = 90; char i = (char) j ;
15、char 可以和 int 类型计算 ,提升为 int 类型,内存中为两个字节 取值范围是 0~65535。char是无符号的数据类型,只有正数,而short有正负数,取值范围是 - 32768~32767。
16、“\t” table键对齐。
17、选择排序法和冒泡排序法(后者较难)。
18、数组的二分法查找元素索引(动用大中小三个指针定位)。
19、eclipse没有编译失败。
20、内存位置、默认值不同:方法里面的局部变量(没有默认值,不赋值不能使用)是跟着方法进栈,而类中成员变量(有默认值)是跟着对象进堆,两者内存位置不同。
21、生命周期不同:类中成员变量,跟随对象在堆中存储,内存等待JVM清理,生命较长;而局部变量,跟随方法出栈,生命较短。
22、谨记方法的重载关系。
23、封装的概念:隐藏了实现的细节,对外提供可以访问的方式,便于调用者的使用。封装的好处:提高代码的复用性和安全性。
24、private成员修饰符,不修饰局部变量。
25、this关键字指向当前对象,类中变量存储于堆内存,与方法内变量有区别。
26、继承的出现提高了代码的复用性,从而提高软件开发效率。让类与类之间产生了关系,提供了多态的前提。
27、java只支持单继承,不支持多重继承,也就是子类不能有两父类,不过java可以多层继承。爷爷--父亲--孙子。
28、类的变量的就近访问原则。
29、super表示当前对象中包含父类对象空间的引用。
30、子类(派生类),父类(超类、基类)。
31、方法重写(Override),子类重写父类方法,与方法的重载(overLoad)有区别。
32、方法重载:方法名一样,参数列表不同,同一个类的事情。
33、方法重写:子类中出现和父类一样的方法的时候。子类重写父类的方法,覆盖。
34、在子类方法新增功能时候,先创建同名方法sshowNum,接着第一句代码直接执行父类原有的方法super.showNum(),接着在后面增加新功能代码。
35、Sourse - 》 Generate Getters and Setters 生成抽象类私有变量的修改方法和获取方法。
36、继承的弊端:随着多态的产生,类与类之间的耦合度过高。后面讲的接口api,就可以解开类与类之间的耦合度的问题。
37、this找自己成员,super找父类成员。
38、子类重写父类方法的前提条件是,要保证子类的方法权限大于或者等于父类的方法权限。
39、java的四大权限 public protected default private。
40、抽象类不能直接创建对象(new 对象)。
41、抽象类也可以做一个中间层的适配器出现。
42、java引用类型:类、数组、接口。
43、接口的应用,解决了类继承的耦合度、增强了扩展性,优化了程序的设计。
44、接口理解:特殊的抽象形的类。
45、接口中定义的成员变量必须是常量。
46、类与接口的关系为实现关系,即类实现接口,实现的动作类似继承,但关键字不同,用implements
47、前面的类称之为接口的实现类
48、共性的数据定义为静态的成员变量,只要方法没有调用非静态的变量,那么该方法就要加static。这样就可以存在JVM的静态区,不进入堆内存。
49、多态调用中, 编译都看=号左边的父类,父类有,编译成功,父类没有,编译失败。
50、静态变量,在创建对象之前已存在,调用静态方法,运行看父类(原因:静态属于类,不属于对象),否则看子类,成员变量,编译运行都看父类。
51、对象的多态性,静态和对象无关,父类的引用,静态方法。
52、定义静态常量:public static final YOUR_NAME = "内瑟斯的微笑";
53、匿名对象,,内部类;
54、外部类要使用内部类的成员,必须创建内部类对象,访问方式:外部类类名.内部类类名 变量名 = new 外部类().new 内部类();
55、同名成员变量的外部类调用 Outer.this.i (成员变量)
56、局部内部类 调用,必须在内部方法new 对象调用内部类方法才行。
57、匿名内部类,简化问题:定义实现类,重写方法,建立实现类对象,合为一步完成 。
58、接口实现类快速写法:匿名内部类公式:new 接口名或者父类(){ 重写抽象方法 }.抽象方法名() ===》直接调用方法
59、导包:引入类所在的真正的文件夹;类的包名带着全名走。
60、权限修饰符:
61、默认权限 default 仅限在本包内和自己使用,继承子类如果不在本包内也不能用 格式 : i = 1;
62、protected 受保护 权限,权限只给子类 只给子类的里面!!!调用父类的受保护成员,你在另一个Test.java文件new 对象会找不到(面试会问)
63、代码块 {} 限制生命周期 类中: 构造代码块 :{} 静态代码块 :static{} 执行顺序 :静态代码块 》 构造代码块 》 构造方法
64、注意静态代码快,不管new几次对象,只执行一次。
65、使用第三方jar包(压缩包)别人用你的jar包:只需两步--》 1、把你的jar拷进项目的lib文件夹;2、Add to BuildPath 小奶瓶 再调用时候 Alt + o;
66、static修饰符修饰的是对象的共享数据,可被类名直接调用,在内存中优先于非静态的存在
67、tocharArray():字符串转数组。。 .charAt()...
68、equalsIgnoreCase() 忽略大小写。。。 toUpperCase().....substring(1)
69、线程安全(慢)StringBuffer 线程不安全(快) StringBuilder 一般用后者
70、数组遍历生产字符串,通过StringBuffer实现,可节约内存空间(因为是在字符缓冲区进行)
Java(1-15)的更多相关文章
- Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等
Java 中15种锁的介绍 Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等,在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类 ...
- Java 种15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁等等…
Java 中15种锁的介绍 1,在读很多并发文章中,会提及各种各样的锁,如公平锁,乐观锁,下面是对各种锁的总结归纳: 公平锁/非公平锁 可重入锁/不可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲 ...
- Java中15种锁的介绍
作者:搜云库技术团队 原文:https://segmentfault.com/a/1190000017766364 1. Java 中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观 ...
- linux(centos8):安装java jdk 15 (java 15)
一,下载jdk15 官方网站: https://www.oracle.com/java/ 下载页面: https://www.oracle.com/cn/java/technologies/javas ...
- Java SE 15 新增特性
Java SE 15 新增特性 作者:Grey 原文地址:Java SE 15 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- Java多线程15:Queue、BlockingQueue以及利用BlockingQueue实现生产者/消费者模型
Queue是什么 队列,是一种数据结构.除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的.无论使用哪种排序方式,队列的头都是调用remove()或poll()移 ...
- Java Hour 15 以写小说的心态
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 突然想到我最近一直在追的小说,作者每天都会更新两章,而且质量挺高.所以从这篇开 ...
- JAVA进阶15
间歇性混吃等死,持续性踌躇满志系列-------------第15天 1.TCP网络程序 package code0329; import java.io.BufferedReader; import ...
- Java基础15:深入剖析Java枚举类
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- 【Java】15分钟快速体验阿里Java诊断工具Arthas
[墙裂推荐]15分钟快速体验阿里Java诊断工具Arthas : https://alibaba.github.io/arthas/arthas-tutorials?language=cn&i ...
随机推荐
- zookeeper学习资料汇总
zookeeper入门介绍 (1) zookeeper入门介绍 (2) zookeeper应用场景介绍 (淘宝团队) (3) 分布式服务框架 Zookeeper -- 管理分布式环境中 ...
- Django---简单模板遍历渲染
简单路由: urlpatterns = [ path('admin/', admin.site.urls), path('index/', views.index), path('list/', vi ...
- 9.8Django
2018-9-8 14:34:38
- Ucloud云主机无法yum安装处理办法
Ucloud云主机在yum安装的时候出现这个提示 执行一下命令 yum --disablerepo=salttestyum-config-manager --disable salttestyum-c ...
- 1.8TF的分类
TF识别手写体识别分类 #-*- coding: utf-8 -*- # @Time : 2017/12/26 15:42 # @Author : Z # @Email : S # @File : 1 ...
- CCCC L2-020. 功夫传人 搜索 bfs && 精度+ 特判
https://www.patest.cn/contests/gplt/L2-020 题解:给你一颗树,让你遍历一遍,顺便更新一下数据,每次到根节点时将其对应的数据加到ans上面.这里用的bfs. 坑 ...
- bit 32/64
[asm]64位编译32位汇编需要注意的 汇编语言在32位和64位下有区别 32位的汇编在代码前增加.code32 as可以通过--32指定生成32位汇编 在64位系统下ld链接生成3 ...
- go语言编程入门
查看文档 首先先分享一个可以在本地就能查看文档的骚操作(linux系统) 1.打开命令行终端,输入godoc -http=:8000,如果想后台运行在后面加个& 2.然后打开浏览器,输入网址: ...
- 【Git 使用笔记】第一部分:安装git 和 使用git
第一部分:安装git(本人使用ubuntu系统) sudo apt-get install git 第二部分:基本配置 git config core.filemode false//忽略文件属性的修 ...
- 定时任务,AlarmManager使用
CoderLt 定时任务,AlarmManager使用 项目需要:实现一个定时提醒的功能 查阅资料知道,需要使用AlarmManager AlarmManager介绍: AlarmManager是 ...