黑马程序员_进入OOP,掌握创建对象,构造函数,封装用法,this用法
2012-11-29 21:57
351 查看
----------- android培训、java培训、java学习型技术博客、期待与您交流! -----------
今天我们开始进入了真正的java world!学习面向对象,肯定要和面向过程做对比,面向过程就是不断地将问题不断地细小化,而面向对象,是找出可以解决问题的对象,让对象帮我们去解决问题。就有了类和对象两个重要的概念,类就是设计对象的图纸,抽象化,包涵属性,方法,构造函数,没有实体。而对象就是根据类产生的真正的实体,当对象产生时,我们也就拥有了属性,方法,当然对象先是通过构造函数来进行初始化的。然后我们可以通过对象引用来操作属性和方法。
构造函数我们需要注意的几个地方:名字一定和类名完全相同;没有返回值类型(注意和void区别),然后我们在没有定义构造函数时,系统会默认给类一个构造函数,无参,无方法体的函数,但一旦有构造函数时,就没有这个默认的构造函数。我们在创建对象时,是根据相应的构造函数来进行初始化的
例如:Dog d1=new Dog();Dog d2=new Dog(50,"black");他们会分别调用一个没有参数的构造函数进行初始化,一个调用有两个参数的构造函数进行初始化。
this的出现主要是有两种情况:一种是当成员变量名字和局部变量名字相同时,为了区别哪个为成员变量,哪个为局部变量,加上this(如this.变量名)他就表示调用我的对象的属性;
setName(String name)
{
this.name=name;//this.name就表示调用setName这个方法当前的对象的name.
}
另外一种是一个构造函数来调用另外一个构造函数的情况下,来使用this来表示
如:Dog(){}
Dog(int weight){this()},这个this就代表Dog(){}这个构造函数
紧接着我回忆下学过的封装:封装这个概念理解是理解了,但是感觉说出来好口语化,封装就是把我们需要实现的代码进行包装,然后对外提供访问的方式。封装它时java语言的一大特点,首先封装表现在很多方面:函数就是实现了封装,类就是是实现了封装等,它具有使用方便,代码重复行加强,实现安全操作。
private这个关键词,就是把所修饰的方法和属性进行私有化,只有本类内部可以访问,外面的类无法访问,当然我们提供了对外访问的方式(最常用的setter和getter方式)。
以下代码是今天根据的所学内容打的代码:
----------- android培训[/u]、java培训[/u]、java学习型技术博客、期待与您交流! -----------
本文出自 “javaの旅” 博客,请务必保留此出处http://saistart.blog.51cto.com/6115346/1074446
今天我们开始进入了真正的java world!学习面向对象,肯定要和面向过程做对比,面向过程就是不断地将问题不断地细小化,而面向对象,是找出可以解决问题的对象,让对象帮我们去解决问题。就有了类和对象两个重要的概念,类就是设计对象的图纸,抽象化,包涵属性,方法,构造函数,没有实体。而对象就是根据类产生的真正的实体,当对象产生时,我们也就拥有了属性,方法,当然对象先是通过构造函数来进行初始化的。然后我们可以通过对象引用来操作属性和方法。
构造函数我们需要注意的几个地方:名字一定和类名完全相同;没有返回值类型(注意和void区别),然后我们在没有定义构造函数时,系统会默认给类一个构造函数,无参,无方法体的函数,但一旦有构造函数时,就没有这个默认的构造函数。我们在创建对象时,是根据相应的构造函数来进行初始化的
例如:Dog d1=new Dog();Dog d2=new Dog(50,"black");他们会分别调用一个没有参数的构造函数进行初始化,一个调用有两个参数的构造函数进行初始化。
this的出现主要是有两种情况:一种是当成员变量名字和局部变量名字相同时,为了区别哪个为成员变量,哪个为局部变量,加上this(如this.变量名)他就表示调用我的对象的属性;
setName(String name)
{
this.name=name;//this.name就表示调用setName这个方法当前的对象的name.
}
另外一种是一个构造函数来调用另外一个构造函数的情况下,来使用this来表示
如:Dog(){}
Dog(int weight){this()},这个this就代表Dog(){}这个构造函数
紧接着我回忆下学过的封装:封装这个概念理解是理解了,但是感觉说出来好口语化,封装就是把我们需要实现的代码进行包装,然后对外提供访问的方式。封装它时java语言的一大特点,首先封装表现在很多方面:函数就是实现了封装,类就是是实现了封装等,它具有使用方便,代码重复行加强,实现安全操作。
private这个关键词,就是把所修饰的方法和属性进行私有化,只有本类内部可以访问,外面的类无法访问,当然我们提供了对外访问的方式(最常用的setter和getter方式)。
以下代码是今天根据的所学内容打的代码:
/* 需求:我们定义一个Dog类,在这个类里面有两个属性和一个方法,还有三个构造函数 分析: 先定义类 1,写出成员属性(将属性设定为private),定义两个构造函数 2,再将设置为private的属性对外提供公共访问方式 3,定义一个shout方法 */ class Dog { private int weight; private String color; //定义一个无参的构造函数 Dog() { System.out.println("我没有体重和颜色"); } //定义一个有两个参数的构造函数 Dog(int weight,String color) { System.out.println("my weight is "+weight+","+"my color is "+color); } //此方法只是来练习一个构造方法来调用另外一个构造方法 Dog(String color) { this(); } //对外提供getWeight的方法 public int getWeight() { return weight; } //对外提供setWeight的方法 public void setWeight(int weight) { this.weight=weight; } //对外提供getcolor的方法 public String getcolor() { return color; } //对外提供setColor的方法 public void setColor(String color) { this.color=color; } //定义一个shout方法 public void shout() { System.out.println("my weight is "+weight+","+"my color is "+color); } }
/* 1,我们定义一个测试Dog类的public class DogTest 2,在函数体内,我们创建两个对象,一个对象有参数,一个对象无参数,再创建一个匿名对象 3,分别通过对象调用setWeight()和setColor() 4,然后通过对象调用shout() */ public class DogTest { public static void main(String[] args) { //创建两个对象 Dog d1=new Dog(); Dog d2=new Dog(50,"black"); //我只想通过构造函数的调用来实现,构造函数调用另外一个构造函数 Dog d3=new Dog("black"); //创建一个匿名对象 new Dog(60,"gery"); //通过对象来调用setWeight()和setColor()来设定我们想要的值 d1.setWeight(70); d1.setColor("white"); d2.setWeight(120); d2.setColor("grey"); //通过对象调用shout() d1.shout(); d2.shout(); } }
----------- android培训[/u]、java培训[/u]、java学习型技术博客、期待与您交流! -----------
本文出自 “javaの旅” 博客,请务必保留此出处http://saistart.blog.51cto.com/6115346/1074446
相关文章推荐
- 进入OOP,掌握创建对象,构造函数,封装用法,this用法
- 黑马程序员_面向对象一(封装,构造函数,this,static,单例设计模式)
- 黑马程序员面试题面向对象一(封装,构造函数,this,static,单例设计模式,继承)
- 黑马程序员_面向对象1_(封装、构造函数、this、static、单例设计模式)
- 黑马程序员——黑马学习日志之五 面向对象,类,函数,匿名对象,封装,构造函数,this,代码块
- 黑马程序员--03.Java面向对象--01.【OOP基本概念】【匿名对象】【封装】【构造函数】【this关键字】
- 黑马程序员----面向对象1(匿名对象、封装、构造函数、this、static)
- 黑马程序员_JAVA笔记05 ——面向对象1(类与对象关系、封装、构造函数、this)
- 黑马程序员——3.面向对象(堆栈、匿名、封装、构造函数、this、静态、数组工具类)
- 黑马程序员_<<面向对象(对象,封装,satic,构造函数,代码块,this)---01>>
- 黑马程序员 Java基础<一>---> 面向对象与类之概述(匿名对象、封装、构造函数、this、静态等)
- 黑马程序员——Java基础---面向对象(面向对象,类,对象,匿名对象,封装,构造函数,构造代码块,this,static,main,帮助文档,静态代码块,单例)
- 黑马程序员 JAVA初级-面向对象 匿名对象、封装、构造函数、构造代码块、this
- 黑马程序员 笔记(五)——面向对象(概述、类与对象、封装、构造函数、this)
- 黑马程序员-----java面向对象之封装、构造函数、this关键字、static静态总结*
- 黑马程序员--面向对象(一)封装、成员变量与局部变量、匿名对象、构造函数、this关键字
- 黑马程序员————面向对象(概述,封装,构造函数,this,static)
- 用构造函数创建对象时的this的指向问题
- 用构造函数创建对象时的this的指向问题
- 面向对象、匿名对象、成员、封装、主函数、成员变量、局部变量、构造函数、this、静态、主函数