黑马程序员---前序《对部分基础知识的查漏补缺》
来源:互联网 发布:mac 图片处理 除了ps 编辑:程序博客网 时间:2024/05/21 04:00
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------前序 这段学习的日子过的很充实,在博客的第一篇里面,我想把这几天对基础知识复习时的盲点写一下,以便于更加牢固、深刻的掌握这些知识。同时也给大家做个参考,开始我的博客之旅。我喜欢编程,顺着这条路大家一起奋斗下去吧!、 switch语句 关于switch语句中可以使用的数据类型为:byte,short,int,char,枚举(JDK5以后),String(JDK7以后) 分析: 关于这个问题,相信大家都不会太在意,所以犯错的几率还是很大的。尤其是没有基础或者是基础不扎实的同学或者自学者。虽然在工作中,很少会在这个方面出现问题,但是最基础的东西大家要记住还是没有坏处的。 抽象方法和构造方法 抽象方法不能有方法体,修饰符为public abstract;构造方法不能有返回值。 构造方法: 1.当实例化一个类的对象时,JVM会自动调用本类的一个方法:构造方法; 2.定义类时,可以不定义构造方法,编译器会自动添加一个无参,什么都不做的构造方法; 3.如果类中定义了构造方法,编译器就不会添加任何构造方法了; 4.构造方法的格式要求: 1).构造方法名必须与类名一致; 2).构造方法不能定义“返回值类型”,甚至是void; 3).构造方法不能返回一个具体的值,但内部可以使用return;语句; 注意: 1).以下代码可以编译通过: class Student(){ public void Student(){ //普通成员方法,不是构造方法; } } 2).以下代码不能通过编译: class Student(){ public student(){ //构造方法必须同类名一致,包括大小写; } } 一个类中可以定义多个“构造方法”,但每个构造方法的形参列表不能完全相同,叫:构造方法的重载; 在一个构造方法中可以调用另一个构造方法,使用this关键字; 构造方法可以调用“成员方法”,但“成员方法”不能调用构造方法; 接口 接口内:成员变量全部都是最终变量,不可以被重新赋值,修饰符为public static final;成员方法全部是抽象方法,修饰符为public abstract “接口”的特点: 1).不能被实例化,没有构造方法,只能用于子类“实现”; 2).可以包含: A.成员变量(常量):隐式的定义为:public static final。 上述三个关键字中任何一个都可以不写,系统会自动添加; 例如: interface IA{ public int num1 = 10; //OK static final int num2 = 20; //OK final int num3 = 30; //OK public final num4 = 40; //OK int num5 = 50; //OK } B.抽象方法:隐式的定义为:public abstract。可以省略,系统会自动添加 例如: interface IA{ void show1(); //OK public void show2(); //OK; abstract void show3(); //OK; } 3).接口的功能是:扩展功能; 子类实现接口时,必须重写接口中所有的抽象方法,而且必须是public的--因为接口中抽象方法的定义隐式的是public的。 例如: interface IA{ void show(); } class B implements IA{ void show(){ } //编译错误。父接口的show()隐式的为public的,子类重写时必须是public的; } 匿名对象与几个常用关键字 匿名对象: 1.匿名对象:没有名字的对象:new Student(); 2.匿名对象的两种使用情况: 1).对象调用方法仅仅一次的时候:new Student().show(); 2).作为实际参数在方法中传递:printStudent(new Student()); final关键字面试题 final修饰局部变量,在方法内部,该变量不可以被改变 在方法声明上:(1)基本类型,是值不能被改变 (2)引用类型,是地址值不能被改变 final关键字修饰: 成员变量:表示其变量拥有最终的值,不能被更改,成为"常量"。修饰基本数据类型:表示其值不能被修改。修饰引用数据类型,表示地址不能被修改; 成员方法:表示最终的方法。不能被重写; 类:表示最终类。不能被继承; 局部变量:表示其值不能改变;区分:基本类型和引用类型; 方法形参:表示其值不能改变;区分:基本类型和引用类型; 被static修饰的成员变量和成员方法,可以直接被类名调用;而其他普通成员,则需要创建对象后使用对象调用。 对于被abstract修饰的抽象方法,子类中必须重写此方法,否则编译错误。 关于单例设计模式--一道经常遇到的面试题 多线程中的单例设计模式:饿汉式、懒汉式面试题 关于懒汉式的程序考点很多,要背诵,并且要理解。 /* 单例设计:饿汉式、懒汉式 重点:懒汉式 面试题:1.问:懒汉式和饿汉式有什么不同? 答;懒汉式的特点在于实例的延迟加载。 2.问:懒汉式的延迟加载有没有问题? 答:有,如果多线程访问时会出现安全问题。 3.问:怎么解决? 答:可以通过加同步来解决。 4.问:加同步的方式? 答:用同步代码块可以,但效率有点低;可以用 双重判断的方式提高效率。 5.加同步的时候使用的锁是:该类所属的字节码文件*///饿汉式class Single{ private static final Single s = new Single(); private Single(){ } public static Single getInstance(){ return s; }}//懒汉式class Single { private static Single s =null; private Single(){ } public static Single getInstance(){ if (s==null){ synchronized(Single.class){ if(s==null) s = new Single(); } } return s; }} == 与 equals区别判断运算符:== 1.如果两边是基本数据类型,比较的值是否相等; 2.如果两边是"引用数据类型",比较的是"引用(地址)"是否相等;equals方法: 1.只能判断引用数据类型; 2.在Object类中定义,任何类都会继承此方法; 3.在Object类中默认实现:判断两个对象的地址是否相同; 4.我们一般都会重写此方法,判断对象内部的属性值是否全部完全相同;
0 0
- 黑马程序员---前序《对部分基础知识的查漏补缺》
- 黑马程序员-学习笔记-查漏补缺
- 基础知识查漏补缺
- Python基础知识查漏补缺
- 黑马程序员-②C语言查漏补缺总结 (下)
- 【C/C++】C++基础知识查漏补缺
- Java基础知识_查漏补缺篇
- 黑马程序员-①C语言查漏补缺总结(上)
- 黑马程序员-基础知识部分总结
- struts2 的查漏补缺知识点
- 复习前段时间的(查漏补缺)
- java查漏补缺
- Widgets查漏补缺
- 查漏补缺
- servlet 查漏补缺
- c#查漏补缺
- spring 查漏补缺
- 本周查漏补缺
- vc2010编译错误atlcore.h(35): fatal error C1189: #error
- Linux 下C++开发环境的搭建
- HTML学习 - 打地鼠
- kNN算法python代码学习
- MyEclipse 2015 上配置CSS3.0和HTML5的标签自动提示
- 黑马程序员---前序《对部分基础知识的查漏补缺》
- iOS开发 大文件下载(支持断点下载)
- 安卓应用程序的多语言配置
- 关于equals的解说
- 64位win7使用debug的方法
- 用NetBeans实现表格的增加、删减、修改功能。
- I/O字节流和字符流的使用
- Java学习笔记05 多线程
- 加载cocoStudio的 csb 文件使用方法并添加回调事件