类:是对一切相似事物的统称。是一个泛泛的概念。可以描述相似事物的特征和行为的。
对象:是一个具体的实体,真实存在的实体。
类和对象的关系:
有类才有对象,对象是类的第一个具体的实现
一、声明一个类
语法格式
public class 类名 {
对于当前类属性的描述;
对于当前类行为的描述
}
public class Person {
//特征(属性)java 变量来表示
String name;
int age;
boolean gender;//性别
/*上面声明了三个属性,也叫成员变量*/
//行为 java 方法来表示
public void eat() {
System.out.println("我要吃饭");
}
public void sleep() {
System.out.println("我要睡觉");
}
}
二、创建类对象
使用关键字 new
java 创建对象的语法格式:
类名 对象名字 = new 类名();
public class Demo1 {
public static void main(String[] args) {
Person person = new Person();
//对person这个对象的属性进行赋值操作
person.name = "小王";
person.age = 20;
person.gender = true;
//对象调用类中的方法
//person.eat();
System.out.println(person.name);//获取person对象的name属性值
System.out.println(person.age);
System.out.println(person.gender);
//对象调用类中的方法
person.eat();
person.sleep();
}
}
三、类对象内存分析图
四、构造方法
用来初始化当前类对象的。就是对当前成员属性进行赋值。
构造方法分为有参数的构造方法和没有参数的构造方法。
语法格式:
public 类名() {
}
package com.boke.app;
class Cat{
String name;
int age;
public Cat() {//无参构造
}
public Cat(String name, int age) {//有参构造
this.name = name;
this.age = age;
}
public Cat(String name) {//只有一个参数的有参构造
this.name = name;
}
}
public class Demo1 {
public static void main(String[] args) {
Cat cat = new Cat();//new的时候就是在调用类中的构造方法
Cat cat1 = new Cat("goudan", 23);
Cat cat2 = new Cat("咪咪");
System.out.println(cat2.name);//咪咪
}
}
关于无参数的构造方法和有参数的构造方法的注意事项
1.无参数的构造方法是默认的,但是写了有参数构造方法以后,默认无参数的构造方法就不存在了
2.构造方法必须是类名,其他的成员方法不能以类名来命名
3.构造方法没有返回值,并且不需要使用关键字 void进行修饰
4.构造方法可以有多个,但是构造方法的参数是有数据类型的要求的
5.无论什么时候,都要写一个无参构造方法,以备用。
五、构造代码块
实例化对象的时候,先调用了构造方法。构造方法执行的话,构造代码块就一定执行。
写的位置:成员变量之后,构造方法之前。
语法格式:
{
代码
}
package com.qfedu.class3;
class Fish{
String kind;//种类
{
System.out.println("我是构造代码块");
}
public Fish() {
}
public Fish(String kind) {
this.kind = kind;
}
}
public class Demo3 {
public static void main(String[] args) {
Fish fish = new Fish("金鱼");
}
}