java面向对象的程序设计(oop)

一、面向对象程序设计的概念

  定义:使对计算机语言中对事物的的描述与现实世界中该事物的本来面目尽可能的一致
提示:类(class)和对象(object)是面向对象方法的核心概念。类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)

二、类

  1. 类的内容:包含属性(用来描述对象的数据元素称为对象的属性名)和方法(对对象的属性进行的操作称为对象的方法)例:public class  Student{
            private int age ;——>属性
            public void setAge(int _age) {——>方法
        age = _age;
            }
    }
  2. 类的构造器(构造方法)
  • 定义:构造方法名称必须和类名称一致,一个类可以有多个构建器,但这些构造方法的参数列表必须不同
    例:public  class  Dog {——>类名Dog
    private  int  weight;
    public  Dog(int w) {——>构造方法
    weight = w;
    }

    }

三、对象

  1. 概念:对象是类的实例,具有自己的动态特征(对象所表现的行为或功能即其所拥有的方法)和静态特征(某种数据的描述即其所拥有的变量)
  2. 对象的生命周期:创建阶段应用阶段不可视阶段、不可到达阶段、可收集阶段、终结阶段与释放阶段(销毁)
    • 创建对象的方式:a. new语句创建创建对象b.利用反射机制,调用java.lang.Class的forName(对象的类)(得到java.lang.Class对象的实例)和java.lang.reflect.Constructor的newInstance()方法(得到该类的对象的实例)c.调用对象的clone()方法(clone()方法没有调用构造函数,创建一个复制的对象,属性与原对象完全相同,保存在不同的内存地址中) d.运用反序列化方法,调用java.io.ObjectInputStream类的readObject()方法              注意:a、b方法创建对象时会调用其构造方法,而c则不会
    • 可收集阶段、终结阶段与释放阶段:对象执行完finazlie()方法后,垃圾回收器对该对象的所占用的内存空间进行回收或者再分配了,则该对象彻底消失了
     3.信息的隐藏:指的是对象的一种保护机制,使得它的属性或方法不被外部的程序直接访问       使用者对类内部定义的数据(对象的成员变量)的直接操作会导致数据的错误、混乱或安全性问题。
隐藏前 :class Student{
        public int age;
}
        public int age;
}
public class StudentTest{
        public static void main(String args[]){
Student s = new Student();
//合“法”但不合理的设置
s.age = 1000;//
   }
}
隐藏后 :Java中通过将数据封装、声明为私有的(private),再提供一个或多个公开的(public)方法实现对该属性的操作
class Student{
       private int age;
public void setAge(int age){
this.age=age
}
public int getAge(){
return this.age
}
}
public class StudentTest{
        public static void main(String args[]){
Student s = new Student();
s.setAge = 1000;
   }
}
好处:
隐藏一个类的实现细节;
防止对封装数据的未经授权的访问。使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;
有利于保证数据的完整性;
便于修改,增强代码的可维护性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值