类和对象

对象是对类进行具体化;类是对对象进行抽象化。

1.类

定义:是对同一类别的众多对象的一种抽象,同时还是用来生成对象的一种模板

约定:类名,首字母要大写,如果是由多个单词组成,每个字母首字母都大写

class 类名{

  访问修饰符 成员变量的定义;

  访问修饰符 成员函数的定义;

}

访问修饰符:默认,public,pricate,protected

public:公有的,能被所有位置的对象调用

默认:能被当前包内所有的对象调用

pricate:私有的,只能被当前class花括号之内的代码访问,其他位置都不能调用

protected:继承,只要是继承关系就能调用,无论是在当前包还是其他包;只要不是继承关系就不能调用,不管是不是在同一个包中

类的实例化: 用类来生成对象

类名 变量名 = new 类名();

成员变量:(属性)访问修饰符 类型 变量名;

  a.成员变量的定义,如果不赋初始值,会使用默认值。而函数内的局部变量不赋值初始值会出问题。
  b.成员变量可以被当前类的所有的成员函数都可以调用。而函数里面的变量只能在当前花括号中可以使用。

成员函数:【方法(属性方法和行为方法)】访问修饰符 返回类型 函数名(形参){函数体};

  a.普通成员函数。(属性方法,行为方法)
  b.构造函数。

构造函数:

必须与类名相同;不能有返回值;会被自动执行,对象new出来的时候会自动执行;一般都是pubilc

2.对象

包括:属性(名词形容词),行为(动词)

对象初始化的次序:当我们new一个对象的时候。
1.执行成员变量的定义。
2.构造函数的内容。

构造函数与成员变量初始化的执行次序:当我们new一个对象的时候

先执行成员变量定义--构造函数

3.方法的重载

函数名相同,类型不同(包括数量,类型,位置)

两个及以上的函数(函数名相同,类型不同的函数)就形成了函数重载

函数重载只和函数名,类型有关;和函数的返回类型无关

重载之后的函数调用:

  根据调用函数的实参决定调用哪一个重载函数

无论是构造函数还是普通函数都能进行重载。

this. 指的是对象。

其中

public GouZao(String name){
   this.name=name;
  }
public GouZao(){
   
  }

这两个函数就形成了函数的重载,并且是构造函数的重载

当new一个新的对象的时候,会根据实参来决定调用哪个函数

结果:

原文地址:https://www.cnblogs.com/dnf1612/p/6225172.html