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

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

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

面向过程分析:

开始游戏

黑棋先走

绘制画面

判断输赢

轮到白棋

绘制画面

判断输赢

返回步骤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中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...