java学习小笔记(菜鸟入门)

Java学习笔记

基本操作:

Tab键自动补齐
上下键重复输命令
cd进入目录
/**+enter键注释方法,对象

一、Java入门基础知识

1.变量:代表可操作存储空间

局部变量必须进行初始化(方法)
成员变量会自动初始化(对象)
静态变量(类)

2.进制:

以0开头是8进制;
以0x,0X开头是16进制
以0b,0B开头是2进制

3.基本数据类型:

浮点数不精确
取余的结果符号与左操作数符号相同

4.逻辑运算符

&逻辑与:前后两个运算都会计算(|逻辑或)
&&短路与:只计算前一个运算,后面的不计算(||短路或)

5.字符串连接符(+)

操作数只要有一个是字符串,会自动将其他整数都变成字符串
(注意:是字符串,而不是字符,若是字符,字符会自动化成对于的ASCl码值)

6.ramdom

函数生成随机数范围【0,1)

7.Switch

语句中是整型(long除外),枚举,字符型

8.带标签的break和continue:

相当于goto语句

9.方法——函数

通过对象调用普通方法(加static就不需要了)
方法重载:名字相同的不同方法(参数个数,类型不同)

二、面向对象基础

1.解决复杂问题:

宏观上用面向对象,微观处理上面向过程

2.对象(实例):

相当于一个项目,包括静态属性和方法(光有属性就是结构体)

3.类class :

对象的模本,根据类创建对象
一个Java文件可以有多个类,但是只有一个public修饰的类,类和类之间可以互相引用。

4.内存分析:

①栈stack:方法执行的内存模型,线程私有
②堆heap:存放创建好的对象和数组,可以为所有线程共享(使用new)
③方法区method area:(静态区)实际上也是堆
存放程序中永远不变的量,存储类的相关程序

5.构造方法:

方法名必须和类名相同
通过new关键字调用
构造器虽然有返回值,但是不能定义返回值的类型,(返回创建对象的地址)不能用return返回某个值
如果没有定义构造器,则编译器会自动定义一个无参构造函数,如果已定义,不会自动添加

6.this的本质:

(当前对象的地址)
①区分局部变量和成员变量
②调用重载的构造方法,并且只可出现在构造方法的第一句
③不能用在static类中

7.static:

修饰的成员变量和方法,从属类;
普通变量和方法,从属对象。
静态方法中不可以找到非静态方法,但是反之不可以

8.包机制:

处理类的文件夹(package)

9.import:

导入类,在本类中则可以直接通过类名来调用
Import static导入静态类
注:若导入两个同名类,则使用包名+类名

10.继承:

①只能单继承,即只有一个父类
②子类调用父类,可以获得父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问,如私有属性和方法
③如果定义一个类时,没有调用extends,则他的父类是java.lang.object

11.重写:

子类自身的行为替换父类
①方法名,形参列表相同
②返回值类型子类要小于父类

12.Object:

是Java的根基类

13.Equal:

对象内容是否相同(==是否同一个对象)

14.Super:

直接父类对象的引用,可以用来访问被子类掩盖的方法和属性
注:构造方法第一句总是super(…)

三、面向对象深入和数组深入

1.包含抽象方法的类,

一定是抽象类(abstract),子类必须重写抽象方法,抽象类不能直接创建对象,必须由其子类来创建对象,即抽象类只能用来继承。
抽象类中可以包括普通方法
意义:将方法的设计(父类)和实现(子类)分开。

2.接口:

只有常量和方法,更加抽象,可以多继承
一个类可以实现多个接口

3.内部类:

只有外部类访问
非静态内部类:有外部对象,才能有内部对象;
静态内部类:有内部类,不一定存在对应外部类,;可看作外部类的成员

4.String类的常用方法:

Final修饰的str指向数组不变,但是数组内容可变
不可变字符序列:String:
可变字符序列:StingBuilder: 线性不安全,效率高
StringBuffer: 线性安全,效率低

5.数组扩容:

新建一个数组代替老数组

你可能感兴趣的:(闲人,学习路上)