c#转 java学习笔记(原创)

JDK开发人员用,JRE运行时环境(比如给客户安装,客户电脑需要装JRE)

当我们调用构造方法的时候系统会执行如下操作:1.给对象的属性分配空间,并且初始值 0 or null 2.给属性赋缺省值  3.调用构造方法,给属性重新赋值

1、大小写区分

2、命名规范

3、关键字

 

4、数据类型

 

 

浮点型在小数里面寸值是不精确的,只能寸很相似的数及近似值

float与double的区别

double 有效位是15-16位,如果超过这个范围,最后一位是随机给的

double e=123.45678900000006  //这是17位,但结果最后以为可能是123.4567890000001、123.4567890000009、123.456789

布尔类型

 

字符类型

数据类型转换-默认转换(大给小)

 

数据类型转换-强制转换(小给大)

 

 数据类型转换-大小容量数据混合运算

整形和整形运算,结果就是整形,不用强转如下图:

数字格式化

 枚举类型enum(规范要求大写)

面向对象-内存 机制

对象会在堆里面分配

不属于对象的基本类型和引用类型都在栈里面分配

 引用类型例子

 this关键字

以下程序运行时间,内存是怎么分配的,如下图:

1、this是什么?

 this是一个引用类型,在堆中的每个java对象上都有this,this保存内存地址指向自身。

2、this能用在那些地方?

 第一:this可以用在成员方法中。

第二:this可以用在构造方法中。

this不能在静态static方法中使用 

 static关键字讲解

 static在类加载的时候就执行,自上而下执行,并且只会执行一次,再次实例化类也不会执行。

实例语句块(构造方法调用之前执行)

 数组

 数组是引用类型

 

关联关系和聚合关系

(下面的例子意思就是,Student可以不在这个教室,如果教室不在了,学生还在,如果学生不在了,教室还在,两个互不影响)

流(重点16个流)

什么是流,如下图

 

线程

开一个新线程,可以理解为新开一个栈桢

第一种创建线程方法(继承Thread):

java中实现线程的第二种方式

 线程优先级

 线程阻塞

 

线程的同步(重要)

第一种方式

原理如下

第二种方式(锁整个方法)

 守护线程

Timer

重写(不需要overrived,c#需求,java不需要)

多态

多态的好处(降低耦合度),多态就是:父类型引用指向子类型对象

 

接口的使用(接口必须有调用者和实现者)

(顾客拿菜单点餐、某个厨师做菜的过程)菜单就是所谓的接口,随便换厨师都可以。

异常处理

另外一种异常机制:如下

 

另外一种情况,下面两个图片是一个方法

另外个知识点

 自定义异常

原文地址:https://www.cnblogs.com/suanshun/p/6638871.html