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

 更新时间:2019年04月08日 16:15:57   作者:醒醒,醒醒  
这篇文章主要介绍了Java基础篇--面向对象1(构造方法,static、this关键字),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

  1. 开始游戏
  2. 黑棋先走
  3. 绘制画面
  4. 判断输赢
  5. 轮到白棋
  6. 绘制画面
  7. 判断输赢
  8. 返回步骤2
  9. 输出结果

面向对象分析:

  1. 黑白双方,双方行为是一模一样的
  2. 棋盘系统,负责绘制画面
  3. 规则系统,判断犯规、输赢

传统的面向过程编程是思考问题的解决步骤,这种思维方式适用于问题规模较小时。可是当问题规模大,要求程序有更好的可扩展性,能更快速地查错时面向对象设计思想就能体现出其优势。面向对象更接近人类地自然思维方式,将现实世界中的事物抽象为对象和对象的方法。

面向对象的开发过程其实就是不断创建对象、使用对象、指挥对象做事情的过程。

类与对象关系。

对象表示一个可以明确标识的实体。例如:一个人、一本书、一个学校或一台电脑等等。每个对象都有自己独特的标识、状态和行为。

对象的状态(特征或属性,即实例变量),由该对象的数据域来表示。 例如:一个人可以具有名字、年龄、身高、体重、家庭地址等等属性,这些就是“人这个对象的数据域”。

对象的行为(对象执行的动作,即功能),由方法来定义。例如:定义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修饰过的变量、方法分别称为类成员变量,类成员方法。类成员变量、类成员方法属于类本身,不需要创建对象就可以直接访问。
访问方式:

类名.成员变量/成员方法

总结:

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

注意:

  1. 静态方法只能访问静态成员
  2. 静态方法中不能使用this、super关键字
  3. 方法体内的局部变量不能使用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关键字)详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • java实现身份证号码验证的示例代码

    java实现身份证号码验证的示例代码

    这篇文章主要为大家详细介绍了如何利用java语言实现身份证号码验证的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-09-09
  • Spring AOP操作的相关术语及环境准备

    Spring AOP操作的相关术语及环境准备

    这篇文章主要为大家介绍了Spring AOP操作的相关术语及环境准备学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • SpringBoot配置文件导入方法详细讲解

    SpringBoot配置文件导入方法详细讲解

    Spring Boot虽然是Spring的衍生物, 但默认情况下Boot是不能直接使用Spring的配置文件的, 我们可以通过两种方式导入Spring的配置
    2022-10-10
  • Java的绘图模式使用浅析

    Java的绘图模式使用浅析

    这篇文章主要介绍了Java的绘图模式使用浅析,以一个小例子大概列举了XOR模式下能干的一些事情,需要的朋友可以参考下
    2015-10-10
  • 浅谈用java实现事件驱动机制

    浅谈用java实现事件驱动机制

    这篇文章主要介绍了浅谈用java实现事件驱动机制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 详解Redis 缓存 + Spring 的集成示例

    详解Redis 缓存 + Spring 的集成示例

    本篇文章主要介绍了Redis 缓存 + Spring 的集成示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Java从内存角度带你理解数组名实质是个地址的论述

    Java从内存角度带你理解数组名实质是个地址的论述

    这篇文章主要介绍了Java如何从内存解析的角度理解“数组名实质是一个地址”,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-09-09
  • JAVA注解相关知识总结

    JAVA注解相关知识总结

    这篇文章主要介绍了JAVA注解相关知识,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • java实现学生选课系统

    java实现学生选课系统

    这篇文章主要为大家详细介绍了java实现学生选课系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • java反射的作用知识点总结

    java反射的作用知识点总结

    在本篇文章里小编给大家整理的是关于java反射的作用知识点总结,需要的朋友们可以学习下。
    2020-02-02

最新评论