面向对象知识入门1
Java三大类型:类、接口、枚举
类:某一类对象的统称
对象:现实接触的各种事物
Java学习三句总结:定义类、创建对象、调用方法。
定义类
创建一个类的基本语法:有且只有这五大成员
[修饰符] class 类名
{
//成员变量(field)
//方法(method)
//构造器(constructor)
//内部类(nested class)
//初始化块
}//类体
修饰符:public、final|abstract 创建类有且仅有这三个
类名:语法要求(只要是标识符即可)
所有首字母大写
定义成员变量(field):
[修饰符] 类型 成员变量名 [=默认值];
修饰符:private|protected|public、final、static、(transient)
类型:基本类型或者引用类型
变量名:用于描述该类或者是该对象的状态(项目中,只定义项目感兴趣的状态,建议名词)
格式专业化:驼峰法则
举例:
package Class;
public class User {
private String name;
int age;
double salary = 3500;
public boolean isMarried;
}
定义方法的语法格式:
[修饰符]方法返回值类型 方法名(形参列表)
{
//代码:定义变量、变量赋值、流程控制、输出语句
}
注意,每个方法都要具有有效的返回值(可使用void声明没有返回值)
修饰符:private|protected|public、final|abstract、static
类型:任意基本类型或是引用类型
方法名:用于描述该类或是对象的行为(建议动词)
形参列表:代表调用方法所需要调用的参数,格式为“参数类型 形参名”,形参之间用逗号隔开
定义构造器的语法格式:
[修饰符] 构造器名 (形参列表)
{
//代码:定义变量、变量赋值、流程控制、数据语句
}
构造器的作用:关键字new调用构造器创建对象
如果没有为类写构造器,系统将给该类提供一个无参数的构造器(一个类不能不存在构造器)
修饰符:private|protected|public
构造器特征
构造器名称与类名相同
不存在返回值类型(如果修饰符定义了返回值类型,构造器❌方法✅)
类的作用
- 定义变量 所有类都是引用类型,所有类都可以用于声明变量
- 调用static修饰的方法和static修饰的变量
- 创建对象——
new 构造器(构造参数)
- 派生子类
对象的作用
调用无static修饰的成员变量,调用无static修饰的方法
类是引用类型
在类中,没有static的成员,要用对象调用
对象的成员变量,系统会为之分配默认初始值,规则和数组的初始值完全相同
User类示例
public class User {
private String name;
int age;
double salary = 3500;
public boolean isMarried;
static int MAX_SIZE = 200;
//此为常量,一旦赋值之后永远不会改变
public static int plus(int a, int b) {
System.out.println("Plus");
return a + b;
}
public void eat(String FOOD) {
System.out.println("eating" + "\t" + FOOD);
}
public User(String n) {
System.out.println("创建User对象");
}
}
User调用示例
public class UserTest {
public static void main(String[] args) {
User a = null;
int m=6,n=6;
System.out.println(User.plus(m,n));
User b= new User("dd");
b.eat("shit");
}
}
访问控制
Java 面向对象中访问权限有 3 个(从小到大排序):
private
:类访问权限,只能在该类中被访问(彻底隐藏)。- 默认(不写):包访问权限,只能在该类和该类所在的包中被访问(部分隐藏)。
protected
:子类访问权限,只能在该类、该类所在的包及该类的子类中被访问(部分暴露)。public
:公共访问权限,该类可以在任意地方来访问(彻底暴露)。 | |private
| 默认 |protected
|public
| | :—-: | :—-: | :—-: | :—-: | :—-: | | 当前类 | ✅ | ✅ | ✅ | ✅ | | 当前包 | ❌ | ✅ | ✅ | ✅ | | 子类 | ❌ | ❌ | ✅ | ✅ | | 任意 | ❌ | ❌ | ❌ | ✅ |