IDEA的使用、方法、数组、类与对象、this、super、构造方法、JavaBean

项目——模块——包——方法

java程序开发的三步骤:编写、编译、运行

一个java文件可以写多个类,但是最多只能有有一个是public的。(可以没有)

而且public的类的类名要和文件名一样。

但是实际工作中最好一个文件一个类。

IDEA的常用快捷键总结:

  1. 多行操作:alt + 鼠标拖动
  2. 复制:光标—>shift——>光标最后
  3. 输入后面要留空格,可以(+ “\t”)tab键
  4. psvm + 回车:main方法
  5. sout + 回车:输出语句
  6. for循环:次数.for
  7. iter + 回车 :增强for
  8. Ctrl+Y 删除光标所在行
  9. Ctrl+D 复制光标所在行的内容,插入光标位置下面

  10. Ctrl+Alt+L 格式化代码

  11. Ctrl+/ 单行注释

  12. Ctrl+Shift+/ 选中代码注释,多行注释,再按取消注释

  13. Alt+Shift+上下箭头 移动当前代码行

  14. shift + 回车: 光标跳到下一行

  15. ctrl + r  :多个替换

  16. shift + F6:包和类的重命名

  17. alt + 回车 :万能键

  18. ctrl + 鼠标点击:查看父类方法

方法

定义格式:

修饰符 返回值类型 方法名 (参数列表){
     代码...        

方法注意事项:

  1. 方法必须定义在类中方法外
  2. 方法不能定义在另一个方法的里面

方法的返回值类型:

  1. void
  2. 基本数据类型8种:byte short int long float double char boolean
  3. 引用数据类型:类、数组、接口

定义方法明确两点:(根据方法的功能)

  1. 返回值类型
  2. 参数列表

注意:方法的返回值类型跟参数类型任意写(可以不同)。

​​​​​​​return值:

  1. 结束方法。 注意:return后面的代码没用,到return就结束。
  2. 将结果返回到调用的地方。

​​​​​​​返回值是void,不用加return。若想跳出方法,则写:return;

调用方法的三种形式:

  1. 直接调用:直接写方法名调用。方法名(参数)  (没有对返回值进行处理)
  2. 赋值调用:调用方法,在方法前面定义变量,接收方法返回值。          变量名 = 方法名(参数);                                       (方法返回什么类型,我们就用什么类型接受)   好处:可以对结果处理。
  3. 输出语句调用:在输出语句中调用方法, System.out.println(方法名())     输出方法的返回值。                                                   (不能用输出语句调用 void 类型的方法。因为方法执行后没有结果,也就打印不出任何内容)

在方法中可以写代码拦截非法数据。  例如用if语句。

​​​​​​​方法的重载:

指在同一个类中,方法名相同,参数列表不同,与修饰符和返回值类型无关。

参数列表不相同:

  1. 数量不同
  2. 类型不同
  3. 顺序不同

再次强调,与返回值,没有关系。

数组

数组都是传址的,所以对数组的操作都是直接改变数组。

什么是数组

数组就是一个容器, 用来存储同种数据类型的多个值。

数组的初始化:

动态初始化
静态初始化

数组的特点:

  1. 存储的数据类型要一致
  2. 数组长度固定(数组有定长特性,长度一旦指定,不可更改。)

​​​​​​​数组的定义:

  1. 数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度];   (动态初始化)
  2. 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};  注意:不要写长度,java程序会根据我们给的具体数据去数出有及格元素。   (静态初始化):有具体的数据。
  3. 数据类型[] 数组名 = {元素1,元素2,元素3...};

直接输入数组名字:

          [                     I              @                 内存地址:十六进制形式

      (数组)    (类型)      无意义

索引的概念:

每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引。

数组的长度属性:

数组名.length

数组的赋值是传址的:

int[] arr1 = new int[3];
int[] arr2 = new arr1;(将arr1的地址赋值给arr2,两个变量指向一个数组)

数组元素的默认值:

byte[]  short[]  int[]  long[] 默认值是0
float[]  double[] 默认值是0.0
boolean 默认值是false
char[]

默认值是'\u0000'

其实上面什么都看不到

自己对数组的总结的及格事项:

  1. arr = null;null不保存任何地址。
  2. 数组的长度可以为0,但是没有意义,一个数据都存不了。数组的长度不能是负数。
  3. 方法调用数组,数组作为参数,传的是数组地址。
  4. 数组可以作为返回值类型,返回的是数组的地址。
  5. 数组创建的空间,每new一次就生成一个新的空间,每个空间相互独立。

自己对数组的小拓展:

数组不能像变量那样强制转换。

例: int[ ] a1 = new int[5];

        double[] a2 = a1;

是不可以的因为a1的地址:[ I @ ——(内存地址)

                         a2的地址:[ d @ ——(内存地址)

数组传址传的是后面的部分,但是因为这个前面不同,所以不能传。

数组的创建,元素都是在从常量池获取的。

​​​​​​​

类与对象

什么是面向对象:

是一种编程的思维方式。

类是用来描述一类事物的。

对象是类的一个具体实例。

java中类的定义格式:

public class 类名 {
  //成员变量:表示事物deep属性(在类中方法外)
  //成员方法:表示事物的行为
}

根据类创建对象的格式:

类名 对象名 = new 类名();

成员变量的使用:

  1. 获取成员变量值: 对象名.成员变量名
  2. 给成员变量赋值: 对象名.成员变量名 = 新的值

成员变量默认值:

byte  short  int  long 0
float  double 0.0
boolean false
char '\u0000'
引用数据类型:String

null

成员变量和局部变量区别

在类中的位置不同:

成员变量:类中,方法外

局部变量:方法中或者方法声明上(形式参数)

作用范围不一样:

成员变量:类中

局部变量:方法中

初始化值的不同:

成员变量:有默认值

局部变量:没有默认值。必须先定义,赋值,最后使用

在内存中的位置不同:

成员变量:堆内存

局部变量:栈内存

生命周期不同:

成员变量:随着对象的创建而存在,随着对象的消失而消失

局部变量:随着方法的调用而存在,随着方法的调用完毕而消失


注意:不在一个包中的类需要导包,就是告诉java使用哪个包中的类。

最简单的方案:写类名一半,提示,按回车

当new出对象时:

  1. 因为每个对象的属性是不同的,所以每个对象都会拷贝成员变量,用于保存自己的属性。
  2. 因为方法的代码是固定不变的,不需要拷贝到对象里面,大家共同使用即可。

​​​​​​​结论:new出对象是,拷贝对象的成员变量,但不拷贝方法。

super和this

super和this的含义

super :代表父类的存储空间标识(可以理解为父亲的引用)。

this :代表当前对象的引用(谁调用就代表谁)。

super和this的用法:

1)访问成员

this.成员变量     ‐‐    本类的   
super.成员变量     ‐‐    父类的  
this.成员方法名()   ‐‐    本类的      
super.成员方法名()   ‐‐    父类的

2)访问构造方法

this(...)     ‐‐    本类的构造方法   
super(...)    ‐‐    父类的构造方法

注意:

子类的每个构造方法中均有默认的super(),调用父类的空参构造。手动调用父类构造会覆盖默认的super()。
super() 和 this() 都必须是在构造方法的第一行,所以不能同时出现。

this关键字的作用:

用来区分成员变量和局部变量。

方法被哪个对象调用,方法中的this就代表那个对象。即谁在调用,this就代表谁。

构造方法

构造方法的定义:

在创建对象的时候才执行一次,也是一个方法。

构造方法的作用:

在创建对象时给成员变量赋值。

构造方法的定义格式:

修饰符 构造方法名(参数列表){
// 方法体    
}

构造方法的特点:

  1. 没有返回值,连void都不用写。
  2. 构造方法方法名称和类名一致。
  3. 一个类不写构造方法,java会默认赠送一个无参构造。
  4. 当我们自己添加了构造方法,就没有默认的构造方法。
  5. 构造方法可以重载,既可以定义参数,也可以不定义参数。

构造方法什么时候调用:

类名 对象名 = new 类名();

new:表示在堆中申请一块空间。

类名():表示调用构造方法。

构造方法可以给成员变量赋值,set也能给成员变量赋值,他们的区别:

  1. 构造方法会在创建对象的时候走一次,一个对象只能执行一次构造方法。
  2. set方法是在对象创建好后,通过对象调用set方法,一个对象可以多个调用set方法。

JavaBean(标准代码)

  1. 类必须是具体的和公共的。
  2. 成员变量要私有。
  3. 并且具有无参数的构造方法(必须的)。
  4. 增加有参构造。(建议)
  5. 提供get/set方法。

猜你喜欢

转载自blog.csdn.net/weixin_41630924/article/details/81302562
今日推荐