Java笔记

最近开始学习Java了,想学学安卓开发

突然想学安卓逆向,但对安卓还是不是特别了解,即使每天拿的手机都是安卓系统的,但我居然对自己的手机的结构一点都不了解,这还怎么学安卓逆向啊,于是就开始学习Java了
我还是有点 C 语言和 Python 的基础,脑子里对面向对象编程是有一些映像的,慢慢来吧

private 关键字的 Getter/Setter 方法

在定义类的成员变量的时候可以在定义的语句前加上 private 关键字,这样在实例化类的时候就不能直接对这个成员变量进行修改
这样的好处就是可以利用 Getter/Setter 方法对这个类成员变量的值规范起来
example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Student {
private String name;
private int age;
private boolean ok;

public void setName (String str){
name = str;
}
public String getName (){
return name;
}

public void setAge (int num){
age = num;
}
public void getAge(){
return age;
}

public void setOk (boolean yes){
ok = yes;
}
public isOk (){
return ok;
}
}
  • 在定义普通的常量的时候,都是使用 set + 首字母大写的成员变量 和 get + 首字母大写的成员变量,来设置成员变量和获取成员变量
  • 除了获取布尔值,它是用 is + 首字母大写的成员变量,来获取成员变量

构造方法

格式

1
2
public 类名称(参数类型 参数名称){
}

和 Python 里的初始化方法 init 一样,就是在实例化对象的会自动执行的代码
不过 Java 里的这个方法是一定会有的,如果没有自己定义,则编译器会赠送一个初始化给程序,也就是白嫖编译器一个初始化方法
example:

1
2
3
4
5
6
7
8
9
10
11
12
13
public class student {
// 1
public student(){
System.out.println("默认无参构造方法执行了!");
}

// 2
public student(String name, int age){
this.age = age;
this.name = name;
System.out.println("全参构造方法执行了!");
}
}
  • 构造方法不能返回
  • 1, 2处都定义了构造方法,只是参数不同,也就是说构造方法是可以重载的

标准类 Java Bean

  1. 所有的成员变量都要使用 private 关键字修饰
  2. 为每一个成员变量编写一对 Getter/Setter 方法
  3. 编写一个无参数的构造方法
  4. 编写一个全参数的构造方法

IDEA 快速生成构造方法和 Getter/Setter 快捷方式
Alt + Insert (Code -> Generate)


刚开是学 Java 的时候那叫一个快啊,两倍速都嫌慢,然后看到这个位置,速度慢慢降下来了,从2倍速到1.5倍速,到现在的1.25倍速,也算是正式开始入门 Java 了吧
当你遇到困难的时候,就是你成长的时候