类和对象的概念
- 类(class):具有相似或相同的属性、行为等一类事物。比如:人类、鸟类等
- 构成:一类对象的代码描述(对象的生成指令,对象的调度指令)
- 对象(instance):具体的事物,某个个体,比如:希特勒、杰克逊、乌鸦等
- 构成:对象的属性数据+方法指令
命名
涉及到的结构:包名、类名、接口名、变量名、方法名、常量名
规则:
- 由26个英文字母大小写,0-9,_或$组成
- 数字不可以开头
- 不可以使用关键字和保留字,但能包含关键字和保留字。
- Java中严格区分大小写,长度无限制
- 标识符不能包含空格
- 凡是自己可以起名字的地方都叫标识符
规范:
- 包名:多单词组成时所有字母都小写:xxxyyyyzzz
- 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
类的构造
- 关键词class + 类名
public class 类名{
//一个类的内容
/**
*属性:
*1.变量
*2.常量
*/
String name;
final int id = 1;
/**
*方法:
*1.构造方法
*2.功能型方法
*/
public 类名(){
}
public void exam(){
}
}
创建对象
- 语法:类名 对象名 = new 类名();
- 本质上是:对象的数据类型 对象名 = new 类的构造方法调用();
- new Object()的过程
- 申请对应的内存空间
- 初始化对象的属性和方法
- 返回一个引用地址
初始化对象的属性和方法
public class User {
String name;
final int id=1001;
static int staticnum;
static final int stafinalnum=1000;
{//代码块:创建对象时执行,每次创建对象都会执行
System.out.println("代码块");
}
static {//静态代码块:类初次加载时执行
stafinalnum=100;
System.out.println("静态代码块");
}
public User(){
System.out.println("构造方法");
}
public User(String name){
this.name=name;
}
// 静态方法
public static void getName(){
System.out.println("静态方法 ");
}
public void login(){
System.out.println("普通方法");
}
public static void main(String[] args) {
User.getName();
User user = new User();
user.login();
}
}
各类代码块以及方法的执行顺序
结果:
静态代码块
静态方法
代码块
构造方法
普通方法
常量赋值:final
- 常量必须初始化,可以在静态代码块,代码块中初始化,也可以在构造方法中初始化。
静态常量赋值:static final
- 静态常量必须初始化,可以在静态代码块,代码块中初始化,也可以在构造方法中初始化。
代码块
- 创建对象时执行,每次创建对象都会执行
静态代码块
- 类初次加载时执行
方法
- 在方法中可以调用常量和静常量、变量和静态变量
静态方法
- 在静态方法中可以调用静态常量、静态变量