IDEA基本使用
0.IDEA汉化界面
由于官方已支持汉化,所以可以在IDEA中安装插件实现汉化
file->settings->plugins->在搜索框内搜索chinese(simplified)->安装后重启即可实现汉化
1.使用IDEA创建项目
file->new->project
(jdk由idea帮助寻找,若无可选项下拉后点击添加自行添加jdk)
位置可以自定义
out存放字节码文件,src存放源码,右键src即可创建新源码及包。
3.界面自定义
若不习惯idea的界面,可在设置中自行调整
调整项包括但不限于字体,配色方案,代码样式。
4.字符编码
在dos环境下需使用GBK编码才能正确编译含中文的源文件,在其他环境下则使用UTF-8编码方式。IDEA全局编码默认使用UTF-8编码方式。可自行切换。
5.快捷键的使用
1.删除当前行,默认ctrl+Y可自行配置
2.复制当前行,默认未设置
3.补全代码 alt+/
4. 添加注释和取消注释 ctrl +/(第一次是添加注释,第二次是取消注释)
5.导入该行需要的类 先配置auto import,然后使用alt+enter即可
6.快速格式化代码ctrl+alt+L
7.快速运行程序 默认未设置
8.生成构造器等alt+insert(提高效率)
9.查看一个类的层级关系ctrl+H
10.将光标放在一个方法上,输入ctrl+B,可以选择定位到哪个类的方法[
·11.自动的分配变量名,通过在后面.var
封装,继承,多态基础
1.封装(encapsulation)就是把抽象出的数据(属性)和对数据的操作(方法)封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(方法),才能对数据进行操作。
个人理解:例如我们打开电脑,简单的一个按键就代表系统的启动,启动项的加载等一系列复杂的,用户看不见的操作,类似于黑盒。
好处1:隐藏实现细节,他人调用时只用填入参数
2:可以对数据进行验证,保证安全合理
便利1:代码复用性提高了
2:代码维护性和扩展性提高了
封装基本过程
(1)将属性进行私有化private【不能直接修改属性】
(2)提供一个公共的public set方法,用于对属性判断并赋值
public void set(xxx)(参数){//xxx表示某个属性
用于数据判断的业务逻辑
属性=参数
}
(3)提供一个公共的public get方法,用于获取属性的值,最后返回结果
2.继承(extend)
首先为引入继承,我们说说继承的必要性。
在一个项目中若有多个类里有很多相同或近似的属性及方法,为解决代码的复用问题,引入继承。
基本介绍:继承可以解决代码复用让我们的编程更加靠近人类思维,当多个类存在相同的属性(变量和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extendls来声明继承父类即可。
基础语法:class(子类)extends(父类){ }
使用注意事项:
1.子类继承了所有的属性和方法,但是私有属性不能在子类直接访问,要通过公共的方法去访问
(遵循修饰符的规则)
2 子类没有继承父类的构造器,但必须调用父类的构造器,完成父类的初始化
3 当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会去调用父类的无参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中用super去指定使用父类的哪个构造器完成对父类的初始化工作,否则,编译不会通过
4.如果希望指定去调用父类的某个构造器,则显式的调用一下
5.super在使用时,需要放在构造器第一行
6. super和thisO都只能放在构造器第一行,因此这两个方法不能共存在一个构
造器
7.java所有类都是object类的子类
8.父类构造器的调用不限于直接父类!将一直往上追直到object类(顶级父类)
9.子类最多继承一个父类(直接继承)
10.注意父子关系,不可滥用
3.多态(polymorphism)
基本理解:一个人在社会中学校中等不同场景有不同的身份,在java中,多态体现为父类引用变量可以指向子类对象。
多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作。
基本语法:父类类型 变量名=new 子类类型();
多态包含编译时多态和运行时多态
编译时多态:
.编译期间决定目标方法
·通过overloading重载实现,方法名相同,参数不同
运行时多态:
.运行期间决定自标方法
·同名同参
.overriding和继承实现
.JVM决定目标方法
多态存在的前提条件:
1、继承(extends或implements)
2、重写(override)
3、父类引用指向子类对象