JAVA学习笔记Day03__JAVA入门小知识点
2016-07-29 20:55
555 查看
1、面向对象
1、面向对象 在构造方法中就近原则; 如果第一个size没有this.,则表示参数size public A(int size) { this.size = size; } 2、在构造方法中,所有的参数,就算什么都没有,也会按照顺序初始化所有的属性 3、属性的初始值:引用对象为null;boolean为false;char为数值0;其他的全部为0; 4、面向对象的好处:便于查找 5、断言: 调试时使用的。 用-ea开启,若断言为false,则抛出异常,否则断言无效
2、WEB阶段
html、js、服务器搭建、sevlet、form、数据库
3、BrainFuck解释器的编写
Day下午
1、包名
com.xiaofeng.项目名字 org:表示开源
2、小知识
JAVA绝大多数的属性为private 继承也是扩展,子类的分类更加细致。属性和方法更多。扩展父类 类型转换: 自动、强制 强制转换时有事会出现构造异常 ClassCastException:类型转换异常(由于编程不严谨导致) 使用instanceof判断 引用变量 instanceof 类名 重写和重载: 重载的前提是在同一个类中。 重写: 1、访问权限父类不能小于子类的访问权限。 2、返回值类型:为父类返回值或者其子类类型 3、方法名是一定相同的 4、参数列表一定相同 5、异常:子类抛出的异常一定是在父类抛出的异常的范围内 6、String除外,因为String有final修饰,没有子类
3、类的生命周期
引用的四种: 强引用:目前所使用的引用 弱引用:引用的对象一般不会被回收,内存不足时才会被回收。否则会造成内存泄漏 软引用: 虚引用:最后这两种引用,差不多,只要被发现,并且这个时候,只有一个软引用或者虚引用,那么一定会被回收。
4、final finally finalize三者的区别
finally:在一种情况下,会不执行,虚拟机崩溃的时候。 finnalize:是在java回收内存时调用的。垃圾回收
finnalize:
相当于C++当中的析构函数,一般不需要重写
protected void finalize() throws Throwable { super.finalize(); System.out.println("大象被洗了"); } // 垃圾回收机制一般在一个单独的线程中执行
//断言: 用于调试, 用-ea开启, 如果断言为false, 则抛出异常, 若不开启断言无效 assert e.getSize() < size : "太大!";//用java -ea Demo01命令打开断言
5、接口
接口实现的四种方式: // 接口实现的方法 Drawable drawable = new Rect(); drawable.draw2(5); Drawable d = new Drawable() { @Override public void draw2(int i) { System.out.println("匿名内部类");; } }; d.draw2(4); // 1.8之后增加的新特性,只有一个方法的接口可以使用lamba方法 // 第一()里面写参数,多行语句加一个{} Drawable draw = (i) -> System.out.println("lamba"); Drawable draw2 = i -> System.out.println("lamba"); Drawable drawable2 = (i) -> { System.out.println("sf"); System.out.println("dfs"); }; draw.draw2(0); // 反射中的代理 // Proxy
6、 抽象方法中:
1、没有方法体 2、一定在抽象类中
7、接口和类
1、接口中不可以有属性,因为属性都是常量 2、jdk1.8之后新特性: -方法中的default,实现接口时可以不重写。 -lamada:1.8之后增加的新特性,只有一个方法的接口可以使用lamba方法 第一()里面写参数,如果只有一个参数,还可以去掉();多行语句加一个{} Drawable draw = (i) -> System.out.println("lamba"); Drawable draw2 = i -> System.out.println("lamba"); Drawable drawable2 = (i) -> { System.out.println("sf"); System.out.println("dfs"); }; 3、jdk1.8之后接口中可以有静态方法
8、注意
1、1.8之后的新特性,如果一个类实现了两个接口,并且两个接口中的default方法是一样的,这是必须在实现类中重写default方法。 2、如果default方法在实现类中不被重写,那么在调用方法时,会默认调用接口中的default方法。
相关文章推荐
- JDK,JRE,JVM三者小结
- Java Web学习(25): JSTL学习(三)
- Java设计模式--策略模式
- Java Se----面向对象(封装、继承)
- java 控制器向页面传值方式
- 为什么springMVC和Mybatis逐渐流行起来了?
- 关于Eclipse启动时弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法
- Java产生验证码除去特定值
- Java中加载配置文件方式二
- java自定义注解类
- Java 之 线程睡眠和线程让步
- Spring Ehcache代码实现监控
- Spring4 整合 Hibernate4
- java反射获得父类泛型参数
- spring 整合 junit
- Java 加载配置文件的方式 一
- linphone-NetworkManger.java文件分析
- Java与WCF交互(一):Java客户端调用WCF服务
- Java与WCF交互(一)补充:用WSImport生成WSDL的Java客户端代码
- 将两个文件中的单词(汉字)交叉合并到一个文件中