JAVA简明随笔

类的定义

  1. 类是相同或相似对象的一种抽象,是对象的一个模板,它描述一类对象的行为和状态。
  2. 类是具有相同属性和方法(行为)的对象的集合

定义一个类,主要有三个步骤:

1、定义类名,用于区分不同的类。如下代码中 public class 后面跟的就是类名。class是声明类的关键字,类名后面跟上大括号,大括号里面就是类的一些信息。public 为权限修饰符。

public class 类名 {
    //定义属性部分(成员变量)
    属性1的类型 属性1; 属性2的类型 属性2; ... //定义方法部分 方法1 方法2 ... }
 

2、编写类的属性。对象有什么,需要通过属性来表示。属性的定义是写在类名后面的大括号里,在定义属性时,要明确属性的类型。在一个类当中可以写一个或多个属性。当然也可以不定义属性。

3、编写类的方法。方法也是写在大括号里面。可以定义一个方法或多个方法,当然也可以不定义方法

一个类可以包含以下类型变量

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量:也叫静态变量,类变量也声明在类中,方法体之外,但必须声明为 static 类型。

创建对象的语法如下:

类名 对象名 = new 类名();

定义类的时候不会为类开辟内存空间,但是一旦创建了对象,系统就会在内存中为对象开辟一块空间,用来存放对象的属性值和方法。

创建对象后,我们就要使用对象了,使用对象无非就是对属性和方法进行操作和调用。语法如下

//引用对象属性
对象名.属性

//引用对象方法
对象名.方法

 构造方法

在面向对象中有一个非常重要的知识点,就是构造方法。每个类都有构造方法,在创建该类的对象的时候他们将被调用,如果没有定义构造方法,Java 编译器会提供一个默认构造方法。 创建一个对象的时候,至少调用一个构造方法。比如在新建一个对象 new Object(),括号中没有任何参数,代表调用一个无参构造方法(默认构造方法就是一个无参构造方法)。构造方法的名称必须与类名相同,一个类可以定义多个构造方法。

扫描二维码关注公众号,回复: 11432030 查看本文章

构造方法的具体内容:

1、构造方法的名称与类名相同,且没有返回值。它的语法格式如下:

//与类同名,可以指定参数,没有返回值
public 构造方法名(){
//初始化代码
}

下面是一个构造方法的例子:

public class People{
    //无参构造方法 public People(){ } //有一个参数的构造方法 public People(int age){ } }

又例如具体的构造方法:

public class People {
//属性(成员变量)有什么 double height; //身高 int age; //年龄 int sex; //性别,0为男性,非0为女性 //构造函数,初始化了所有属性 public People(double h, int a, int s){ height = h; age = a; sex = s; } }
//创建对象,调用我们自己定义的有参构造方法
People XiaoMing = new People(168, 21, 1);

上面的例子中通过 new 关键字将类实例化成对象,而 new 后面跟的就是构造方法。于是可以知道 new + 构造方法 可以创建一个新的对象。

2、如果在定义类的时候没有写构造方法,系统会默认生成一个无参构造方法,这个构造方法什么也不会做。

3、当有指定的构造方法时,系统都不会再添加无参构造方法了。

4、构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法。

静态成员

Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。

如:

public class StaticTest{
    public static String string="shiyanlou"; public static void main(String[] args){ //静态成员不需要实例化 直接就可以访问 System.out.println(StaticTest.string); //如果不加static关键字 需要这样访问 StaticTest staticTest=new StaticTest(); System.out.println(staticTest.string); //如果加上static关键字,上面的两种方法都可以使用 } }

静态方法

static 修饰的方法是静态方法,静态方法不依赖于对象,不需要将类实例化便可以调用,由于不实例化也可以调用,所以不能有 this,也不能访问非静态成员变量和非静态方法。但是非静态成员变量和非静态方法可以访问静态方法。

猜你喜欢

转载自www.cnblogs.com/Roue/p/13371794.html