Android 基础语法笔记

访问权限修饰符、关键字、Android专属类型详解

访问权限 关键字 Android类型 面试必备

目录导航

一、访问权限修饰符

1 public - 公共的

特点:无访问限制,所有类都可访问

可修饰:类、方法、变量、构造方法

public class MainActivity
public void login()
2 private - 私有的

特点:仅当前类内部可见,外部完全不可访问

可修饰:方法、变量、构造方法

private EditText etUsername
private void login()
3 protected - 受保护的

特点:当前类、同包类、子类可访问

可修饰:方法、变量、构造方法

protected void onCreate(Bundle savedInstanceState)
4 default(包访问权限)

特点:同包内可访问,不同包不可见(不写关键字时默认)

可修饰:类、方法、变量

class UserDao   // 默认权限
void resetData()

二、非访问权限修饰符

1 static - 静态的

特点:属于类本身,无需创建对象即可直接调用,所有实例共享

可修饰:方法、变量、内部类、代码块

private static final String DB_NAME = "login_db"
public static User login()
2 final - 最终的

特点:不可修改/继承/重写

可修饰:变量(常量)、方法(不可重写)、类(不可继承)

private final DBHelper dbHelper
public final class User
3 abstract - 抽象的

特点:不可实例化,必须被子类实现

可修饰:类、方法

public abstract class BaseActivity
protected abstract void initView()
4 synchronized - 同步的

特点:保证线程安全,多线程环境下防止并发问题

可修饰:方法、代码块

public synchronized void register()
5 volatile - 易变的

特点:保证变量可见性,多线程环境下确保变量修改对所有线程可见

可修饰:变量

private volatile boolean isLogin = false
6 transient - 瞬时的

特点:修饰的变量不参与序列化,反序列化时得到默认值

可修饰:变量

private transient String password;  // 密码不存到文件
7 native - 本地方法

特点:方法由非Java代码(C/C++)实现,用于性能敏感或系统调用

可修饰:方法

public native void initNative();

三、核心语法关键字

1 void - 无返回值

用途:方法执行后不返回任何数据

public void login()
private void register()
2 class - 定义类

用途:Java最核心的结构,用于创建类模板

public class MainActivity extends AppCompatActivity
3 interface - 定义接口

用途:仅声明方法,由实现类重写实现

public interface OnLoginListener
4 extends - 继承父类

用途:子类可复用父类的属性和方法

public class MainActivity extends AppCompatActivity
5 implements - 实现接口

用途:必须重写接口的所有方法

public class MainActivity implements View.OnClickListener
6 @Override - 重写标记注解

用途:标记当前方法是重写父类/接口的方法

@Override
 protected void onCreate(Bundle savedInstanceState)
7 return - 返回值

用途:方法执行结束后返回指定类型的数据

return user
 return result != -1
8 if/else - 条件判断

用途:根据布尔值执行不同逻辑分支

if (user != null) { 登录成功 } else { 登录失败 }
9 for/while - 循环语句

用途:重复执行指定代码块

for (int i = 0; i < 10; i++)
10 try/catch/finally - 异常处理

用途:捕获并处理代码运行中的异常

try { phone = Long.parseLong(phoneStr); }
 catch (NumberFormatException e) { 提示错误 }
11 this / super

this:指向当前对象,用于区分成员变量与参数,或调用本类其他构造器。
super:指向父类对象,用于访问父类成员或调用父类构造器。

this.name = name;
super.onCreate(savedInstanceState);
12 instanceof - 类型检查

用途:判断对象是否为某个类(或其子类/实现类)的实例,常用于向下转型前的安全判断。

if (obj instanceof String) {
    String s = (String) obj;
}
13 enum - 枚举

用途:定义一组固定的常量,比int常量更类型安全,可添加字段和方法。

public enum Status { SUCCESS, LOADING, ERROR }
14 switch / case / break / default

用途:多分支选择结构,支持byte, short, int, char, String, enum。

switch (type) {
    case 1: break;
    case 2: break;
    default: break;
}
15 continue / break

break:跳出当前循环或switch。
continue:跳过本次循环剩余部分,进入下一次迭代。

for(int i=0;i<10;i++){
    if(i%2==0) continue;
    System.out.println(i);
}

四、Android开发专属关键字/类型

1 View - 视图类型

说明:Android所有UI控件的父类,代表页面上的按钮、输入框、文字等

private View btnLogin
public void onClick(View v)
2 Context - 上下文

说明:Android应用的环境信息,用于访问资源、启动页面、创建数据库等

public UserDao(Context context)
3 Bundle - 页面传参容器

说明:用于Activity之间传递数据

protected void onCreate(Bundle savedInstanceState)
4 Toast - 弹窗提示

说明:用于给用户显示简短的提示信息

Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show()
5 SQLiteDatabase - 本地数据库操作类

说明:Android自带的SQLite数据库,用于执行增删改查操作

SQLiteDatabase db = dbHelper.getWritableDatabase()
6 Cursor - 数据库游标

说明:用于遍历查询到的数据库结果

Cursor cursor = db.query(...)
7 ContentValues - 数据库数据容器

说明:用于封装要插入/更新的数据库数据

ContentValues values = new ContentValues()
8 SQLiteOpenHelper - 数据库帮助类

说明:用于创建、升级Android本地数据库

public class DBHelper extends SQLiteOpenHelper
9 Intent - 意图

说明:用于组件间通信,可显式启动Activity/Service,隐式匹配action。

Intent intent = new Intent(this, DetailActivity.class);
intent.putExtra("id", 123);
startActivity(intent);
10 Handler / Looper / MessageQueue

说明:Handler发送和处理消息,Looper循环取消息,MessageQueue存储消息。用于线程间通信,特别是子线程更新UI。

Handler handler = new Handler(Looper.getMainLooper());
handler.post(() -> updateUI());
11 SharedPreferences - 轻量级存储

说明:以键值对形式存储基本数据类型,常用于保存用户配置、登录状态等。

SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
sp.edit().putString("token", token).apply();
12 RecyclerView - 列表控件

说明:高性能列表组件,通过ViewHolder重用布局,配合LayoutManager和Adapter使用。

RecyclerView rv = findViewById(R.id.rv);
rv.setLayoutManager(new LinearLayoutManager(this));
rv.setAdapter(myAdapter);
13 ViewModel / LiveData

说明:Jetpack组件,ViewModel存储界面相关数据(配置更改不丢失),LiveData是可观察的数据持有者,感知生命周期。

public class MyViewModel extends ViewModel {
    private MutableLiveData data = new MutableLiveData<>();
}
14 Lifecycle - 生命周期感知

说明:帮助组件监听Activity/Fragment的生命周期状态,自动清理资源。

getLifecycle().addObserver(myObserver);

Android 基础语法核心要点