天天看点

我的Java学习之路(第八天)------类和对象

(参考网易云课堂:龙马高新教育)

一、类的声明与定义

1.1 类的声明

[访问修饰符] class 类名称{

//类的成员变量
 //类的成员方法
 }      

访问修饰符:

①public:公有的,Java中权限最宽的修饰符,本类、本包内的类、以及包外的类也能访问

②private:私有的,本类可以访问

③protected:介于public和private之间,和继承有关。本类,子类可以访问

④final:最终的,无法改变的。

⑤默认模式:不加修饰符,只能本包内、本类内可以访问;

类名称:只能是字母、数字、下划线、$组成,不能以数字开头、不能使用关键字,一般首字母大写;

这是老师上课讲的东西,先记下来
package Pseson;

public class Person {
  String name;
  int age;
  //上面两个叫做成员变量
  /**
   * talk方法(成员方法 )
   */
  void talk() {
    System.out.println("我是"+name+"今年"+age);
  }
}      
1.2 类的定义
      访问修饰符 类的成员变量的定义:
    数据类型 属性[=值];
      类的成员方法的定义:
      访问修饰符 返回值的数据类型 方法名称(参数1、参数2...)
      也是列举一个例子方便我复习      
package Pseson;
/**
 *ColorDefine类
 */
public class ColorDefine {
  String color = "黑色";   //成员变量
   void getMes() {      //成员方法
    System.out.println("定义类");
  }
  
  public static void main(String[] args) { 
    ColorDefine cd = new ColorDefine();     //实例化创建对象
    System.out.println(cd.color);      //调用对象的属性color
    cd.getMes();              //调用对象的方法
  }
}      
1.3类的属性
  语法:[访问修饰符] 属性类型 属性名 [=默认值];
  修饰符:public,private,protected,static,final;
  其中static和final可以组合使用;
  属性类型:任何类型(基本数据类型和引用数据类型)
  属性名:只能是字母,数字,_,$组成,不能以数字开头,
  不能使用关键字。一般首字母小写,后面单词首字母大写;      

二、对象的声明与使用

2.1 对象的声明

语法:类名 对象名 = new 类名([形参]);

2.2 对象的使用

如果要访问对象某个变量或成员方法:

对象名.属性名 ;对象名.方法名([形参]);

package Pseson;

public class TestPerson {
  public static void main(String[] args) {
    Person p = new Person();     //声明Person并直接实例化此对象
    System.out.println(p.age);   //调用对象p的成员变量
    System.out.println(p.name);  //调用对象p的成员变量
    p.name = "加油";
    p.age = 10;
    System.out.println(p.age);   //调用对象p的成员变量
    System.out.println(p.name);
    p.talk();
    System.out.println("匿名对象");
    new Person().say();
  }
}      

🌂匿名对象:当我们只需要使用对象一次时,可以使用;

2.3对象的比较
 两种方式:①使用“==”运算符;        ---比较的是两个对象内存地址
          ②使用equals()方法;---比较的是两个对象的内容      

2.4对象数组的使用

package demo2;

public class Test {

  public static void main(String[] args) {
    Person persons[];   //声明Person类型的数组
    persons = new Person[3];
    for(int i=0;i<persons.length;i++) {
      persons[i] = new Person();  //实例化对象
      persons[i].name = "冲冲冲";
      persons[i].age = 10+i;
    }
    System.out.println(persons[2].name);
    
  }

}