面向对象

1.类和对象

 

类是模型,确定对象将会拥有的特征(属性)和行为(方法)。

对象是类的实例表现

 

属性:对象具有的静态行为,即对象又什么

方法:对象具有的动态行为,即对象做什么

 

类:--一个抽象的概念

         --模板

对象:--一个具体的实例

 

例:一个cat类,以及属性和方法

publicclassCat {

   //属性

   Stringname;

   doubleweight;

   intmonth;

   Stringspecies;

//方法

   publicvoid run() {

      System.out.println("小猫快跑!");    

   }

   publicvoid eat() {

      System.out.println("小猫吃鱼!");

   }

 

}

2.对象的实例化

分为两部分:

(1)声明对象:Cat one

(2)实例化对象:new Cat();

连起来就是Cat one= new Cat();

 

调用属性及方法:

                   格式:对象名.属性名(方法名);

                   例:one.name = “小花”;

                            One.run();

                            One.eat();

3.单一职责原则(单一功能原则):
一个类有且只有一个引起功能变化的原因

例:Person类和PersonText类

publicclassPerson {

   //成员变量

   Stringname;

   intage;

   Stringgrade;

   //成员方法

   publicvoid student() {

      System.out.println("我是一名学生!");

      this.myself();

      myself();

      this.sex('');

   }

   publicvoid sex(charch) {

      System.out.println("我是一个"+ch+"孩!");

     

   }

   publicvoid myself() {

      System.out.println("我叫"+name+",今年"+age+"岁了,"+grade+"了!");

   }

}

 

publicclassPersonText {

 

   publicstaticvoid main(String[] args) {

      //实例化对象

      Personp = newPerson();

      //调用属性

      p.name= "黎明";

      p.age= 10;

      p.grade= "小学五年级";

      //调用方法

      p.student();

      p.sex('');

      p.myself();

   }

}

4.构造方法

格式:访问修饰符  构造方法名(参数:可有可无){

                   //初始化代码

}

例:PubicCat(){

         //初始化代码

         }

使用规则:

(1)      与类同名且没有返回值

(2)      只能在对象实例化的时候调用

(3)      没有指定方法时,系统自动添加默认的无参构造方法

(4)      当有指定构造方法,系统将不会调用默认的构造方法

(5)      一个类中可以有多个构造方法

(6)      构造方法只能在构造方法之间被调用,普通方法不能调用构造方法

5.this 关键字

三种使用情况:

(1)      在带参数的构造方法中,表示本类对象(this.变量名)

(2)      在普通方法中,调用方法(this.方法名();)

不过在普通方法中调用本类方法,可使用方法名直接调用(方法名();)

(3)      this();  通过此格式调用构造方法,可带参数

需要注意的是,使用此语句调用构造方法时必须放在方法体内第一句。

通过以下例子具体说明:

publicclassMonkey {

   //成员变量

   Stringname,feature;

   //无参构造方法

   public Monkey() {

      name = "长尾猴";

      feature = "尾巴长";  

   }

   //有参构造方法

   public Monkey(String name,String feature) {

      this.name = name;//this.name表示Monkey类对象属性

      this.feature = feature;

      this();           //调用本类无参的构造方法

   }

}

 

publicclassMonkeyText {

   publicstaticvoid main(String[] args) {

      //实例化对象,并调用构造方法

      Monkeym = new Monkey();

      Monkeym1 = new Monkey("白头野猴","头上有白毛");

      //输出信息

      System.out.println("不带参的构造方法");

      System.out.println("名称    "+m.name);

      System.out.println("特征    "+m.feature);

      System.out.println("=====================");     

      System.out.println("带参的构造方法");

      System.out.println("名称    "+m1.name);

      System.out.println("特征    "+m1.feature);

   }

 

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值