Java类和对象
- Java当中的对象
- java中的类
- 构造方法
- 创建对象
- 访问实例变量和方法
- 源文件声明规则
- java包
一种面向对象语言
- 多态
- 继承
- 封装
- 抽象
- 类
- 对象
- 实例
- 方法
- 重载
对象:是类的一个实例。有状态和行为。
类:是一个模板,描述的是一类对象的行为和状态。例如,车。
Java当中的对象
- 如果我们现在看我们周围的世界,就会发现我们身边其实都是对象。这些对象都有自己的状态和行为。不管是活物还是死物。都是具体到某一个个体的对象;在java中就是实例化。
java中的类
- 现实生活中的类有很多,他是一个称呼。简单来说就是某一类的统称。比如说我们经常说的车(最基本的状态和行为),那再具体些,(自行车和汽车)。
- 那java中的类,就是创建java对象的模板
示例
public class Dogs{
String breed;
int age;
String color;
void barking(){
}
void hungry(){
}
void sleeping(){
}
}
变量
- 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量的声明和初始化都在方法中,方法结束后,变量就会自动销毁。
- 成员变量:成员变量定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
- 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型
构造方法
每个类都有构造方法。如果代码里没有显式的构造方法,java编译器会为该类提供一个默认构造方法。
- 创建对象的时候,至少要调用一个构造方法
- 构造方法必须和类同名
- 一个类可以有多个构造方法
示例
public class Baby{
public Baby(String name){
//这个构造器仅有一个String类型的参数:name
}
}
创建对象
对象时根据类创建的。java中用关键字new来创建一个新的对象。
1. 声明: 声明一个对象,包裹对象名称和类型
2. 实例化:使用关键字new来创建一个对象
3. 初始化:使用new创建对象时,会调用构造方法初始化对象。
示例
public class Baby{
public Baby(String name){
System.out.println("宝宝叫做"+name);
}
public static void main(String[] args) {
//下面开始创建并实例化
Baby baobao = new Baby("Allen");
}
}
访问实例变量和方法
语法格式
- 实例化对象:
Object referenceVariable = new Constructor();
- 访问类中的变量:
referenceVariable.variableName;
- 访问类中的方法
referenceVariable。methodName();
示例
public class Baby{
int bbAge;
public Baby(String name){
System.out.println("名字叫做 "+name);
}
//设置年龄的方法
public void setAge(int age){
bbAge = age;
}
//获得年龄的方法
public int getAge(){
System.out.println("年龄为 "+bbAge);
return bbAge;
}
public static void main(String[] args) {
//创建对象
Baby bb = new Baby("Allen");
//通过内部方法来设置年龄
bb.setAge(3);
//通过方法来获得年龄
bb.getAge();
//或者
System.out.prinln("年龄+"bb.bbAge);
}
}
源文件声明规则
|
类有若干种访问级别,并且类也分不同类型:抽象类和final类。特殊的还有内部类,匿名类等等
java包
主要用来对类和接口进行分类
import语句
java中如果给出一个完整的限定名,包括包名、类名,那么java编译器很容易定位到源代码或者类。import就是提供一个合理的路径,使得编译器可以找到某个类
示例 import java.io.*; public class Employee{ String name; int age; String designation; double salary; // Employee 类的构造器 public Employee(String name){ this.name = name; } // 设置age的值 public void empAge(int empAge){ age = empAge; } /* 设置designation的值*/ public void empDesignation(String empDesig){ designation = empDesig; } /* 设置salary的值*/ public void empSalary(double empSalary){ salary = empSalary; } /* 输出信息 */ public void printEmployee(){ System.out.println("名字:"+ name ); System.out.println("年龄:" + age ); System.out.println("职位:" + designation ); System.out.println("薪水:" + salary); } }
import java.io.*; public class EmployeeTest{ public static void main(String[] args){ /* 使用构造器创建两个对象 */ Employee empOne = new Employee("猪猪侠"); Employee empTwo = new Employee("喜羊羊"); // 调用这两个对象的成员方法 empOne.empAge(26); empOne.empDesignation("厉害的程序员"); empOne.empSalary(1000); empOne.printEmployee(); empTwo.empAge(21); empTwo.empDesignation("普通的程序员"); empTwo.empSalary(500); empTwo.printEmployee(); } }