Java类的概念
类:是一个模板,它描述一类对象的行为和状态。
对象:是类的实例化(也就是平时说的new一个对象,就是将类实例化);存在状态和行为。
eg:汽车是你实例出来的对象,那么汽车的状态有:颜色,品牌,价格等;行为有:起火,抛锚等。
类的书写格式
代码如下:
public class Car {
double price;
String brand;
public void start() {
}
public void setPrice(double price)
this.price = price;
}
public double getPrice() {
return price;
}
public Car(double price,String brand){
this.price = price;
this.brand = brand;
}
public String toString(){
return "price=" + price + "," + "brand=" + brand;
}
}
- 成员变量:定义在类内部,方法外部的变量成为成员变量。在对象实例化生成的时候创建;成员变量可以被类中方法、构造方法或者一些特殊代码块调用。
当成员变量前面有private的时候,只能通过类内方法赋值和调用。
private int = a;
- 成员方法:对象实例化之后可以使用 "对象名.方法名" 来调用。成员方法可以调用私有成员变量;当形参与成员变量名字相同时,用this.name=name ;来区别形参与成员变量
- 构造器:每一个类都有一个默认的构造器,当我们手写一个构造器就会把默认的构造器替换。
标准类的写法
1.属性成员变量
2.无参数构造器
3.全参数构造器
4.写toString写法
类中变量类型
类型 | 类中位置 | 内存中位置 | 生命周期 | 初始值 |
成员变量 | 类中,方法外 | 堆内存中 | 随对象存在而存在。 | 有默认的初始值 |
局部变量 | 方法声明上或方法内部 | 栈内存中 | 方法开始调用存在,方法调用完毕消失 | 没有默认值,先定义,在赋值 |
创建对象
对象是根据类而创建的,一般会使用到关键字new来创建:
1. 声明:声明对象的对象名称和对象类型。
2.实例化:通过关键字new来实例化。
dateType name = new dateType();
3.初始化:使用new之后,会调用构造器来初始对象(默认或手写)。
例子如下
public class Student{
public String name;
pubilc Student(String name){
this.name = name;
System.out.println("name="+name);
}
pubilc static void main(String[] args){
Student stu = new Student("xiaoming");
}
}
访问实例变量和方法
dateType name = new dateType();
name.varName;
name.methodName();
ps: 通过对象不能调用实例中的私有成员。
构造方法
每一个类中都会有构造器,如果我们自己没有定义,那么编译器就会给我们生成一个默认的构造器;
一个类中至少会调用一个构造器,构造器的名称必须与该类的类名一致,一个类中可以含有多个构造器。
package opp;
import java.util.Scanner;
public class Phone {
private String brand;
private String color;
private double price;
public Phone(){
System.out.println("Phone");
}
//一般我们写有参数构造器 是为了给成员变量初始化的
public Phone(String brand){
this.brand = brand;
}
//构造器也可以重载, 没有特殊情况下我们是不给属性赋值
public Phone(double price){
this.price = price;
}
//一般情况下我们是全参数构造器给属性赋值
public Phone(double price,String brand,String color){
this.color = color;
this.brand = brand;
this.color = color;
}
}
- 默认的构造器也是被调用的,并输出语句。
- 自定义构造器时为了给成员变量初始化使用的,可以给一个,也可以全部;一般情况下,我们会全参数构造器给所有的成员变量赋值。
- 构造器也可以重载,重载时候也遵循方法重载的内容。
请动动读者大大的小手手 关注一波 小小作者 帮忙涨涨粉丝 ,谢谢啦。