评论

收藏

[Java] 详解Java基础篇--面向对象1(构造方法,static、this关键字)

编程语言 编程语言 发布于:2021-08-17 12:28 | 阅读数:302 | 评论:0

面向对象,面向过程的区别。拿下五子棋来说:
面向过程分析:

  • 开始游戏
  • 黑棋先走
  • 绘制画面
  • 判断输赢
  • 轮到白棋
  • 绘制画面
  • 判断输赢
  • 返回步骤2
  • 输出结果
面向对象分析:

  • 黑白双方,双方行为是一模一样的
  • 棋盘系统,负责绘制画面
  • 规则系统,判断犯规、输赢
传统的面向过程编程是思考问题的解决步骤,这种思维方式适用于问题规模较小时。可是当问题规模大,要求程序有更好的可扩展性,能更快速地查错时面向对象设计思想就能体现出其优势。面向对象更接近人类地自然思维方式,将现实世界中的事物抽象为对象和对象的方法。
面向对象的开发过程其实就是不断创建对象、使用对象、指挥对象做事情的过程。
类与对象关系。
对象表示一个可以明确标识的实体。例如:一个人、一本书、一个学校或一台电脑等等。每个对象都有自己独特的标识、状态和行为。
对象的状态(特征或属性,即实例变量),由该对象的数据域来表示。 例如:一个人可以具有名字、年龄、身高、体重、家庭地址等等属性,这些就是“人这个对象的数据域”。
对象的行为(对象执行的动作,即功能),由方法来定义。例如:定义getname()来获取姓名, getheight()获取身高,setaddress(string addr)修改地址。
构造方法
构造方法是在创建对象时就会被调用。每个类都有构造方法,如果没有显示地为类定义构造方法,则编译器会为类自动创建一个默认无参构造方法。构造方法必须和类名完全一致,而且没有返回类型。
举个例子:
public class person{
  public string name;
  public int age;
  public person(){//无参构造方法。
  }
  public person(string n,int a){//有参构造方法
  name=n;
  age=a;
  }
}
 
public class persontest{
  public static void main(string[] args){
  penson p = new penson("张三",19);   //有参数调用对应有参构造方法。
  system.out.println("姓名:"+p.name+" 年龄:"+p.age);
}
  
}
运行结果:
姓名:张三 年龄:19
static关键字
用于修饰类的成员,用static修饰过的变量、方法分别称为类成员变量,类成员方法。类成员变量、类成员方法属于类本身,不需要创建对象就可以直接访问。
访问方式:
类名.成员变量/成员方法
总结:

  • 随着类加载而加载
  • 优先于对象存在,意味着在对象创建之前就可以调用,因此java程序的主方法必须用static修饰
注意:

  • 静态方法只能访问静态成员
  • 静态方法中不能使用this、super关键字
  • 方法体内的局部变量不能使用static修饰
this关键字
java中this关键字用于引用对象的成员变量和方法,可以方便地在类地内部对对象地成员变量和方法进行操作。
public class person{
 private string name;
 private int age;
 
 public void setname(string name){
 this.name=name;  //将参数传给当前对象的name。
  }
  
}
this()
this()表示当前类的构造方法,只能在构造方法中使用该写法,并且是写在构造方法内的第一行。
以上所述是小编给大家介绍的java基础篇--面向对象1(构造方法,static、this关键字)详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://blog.csdn.net/qq_41288095/article/details/88955313

关注下面的标签,发现更多相似文章