面向对象特征,类的变量和方法,封装,构造函数,this关键字

  1. /* 
  2. 面向对象特征,类的变量和方法,封装,构造函数,this关键字 
  3. */  
  4.   
  5. 3.1.1理解面向对象  
  6. 。面向对象是相对面向过程而言  
  7. 。面向对象和面向过程都是一种思想.  
  8. 。面向过程,强调的是功能行为  
  9. 。面向对象,将功能进行封装,强调具备了功能的对象  
  10. 。面向过程是基于面向过程的  
  11.     举例,把大象放进冰箱里。找毕老师买电脑。  
  12.     比较牛的一句话,万物皆对象。属于境界。  
  13.     写程序时,先定义对象。再封装功能。  
  14.     没有对象自己造一个对象,再封装功能。  
  15. 人开门,名词提炼法。  
  16.     人{  
  17.         开门(门)  
  18.         {  
  19.         门.开();  
  20.         }  
  21.         }  
  22.     门  
  23.     {  
  24.         开(){操作门轴等}  
  25.     }  
  26. 面向对象:三个特征:封装,继承,多态。  
  27. //找对象,建立对象,使用对象,维护对象的关系。  
  28. 类和对象的关系。  
  29.     类就是:对现实生活中事物的描述。  
  30.     对象:就是这类事物,实实在在存在的个体。  
  31.     描述事物其实就是在描述事物的属性和行为。  
  32.     属性对应是类中的变量,行为对应类中的方法。  
  33.     class Car  
  34.     {  
  35.         String color = "红色";//车颜色  
  36.         int num = 4;//轮胎数  
  37.         void run() //行为  
  38.         {  
  39.             System.out.println(color +"..."+num);  
  40.         }  
  41.     }  
  42.   
  43.     class CarDemo  
  44.     {  
  45.         public static void main(String[] args)  
  46.         {  
  47.             //生产汽车,在java中通过new 操作符完成。  
  48.             //就是在堆内存中产生一个对象。  
  49.             Car c = new Car();//c就是类类型变量,指向对象  
  50.   
  51.             //将已有车的颜色改成蓝色,指挥对象做事,方式:对象。对象成员  
  52.             c.color = "blue";  
  53.             c.run();  
  54.   
  55.             Car c1 = new Car();  
  56.   
  57.             c1.run();  
  58.         }  
  59.     }  
  60.   
  61. 成员变量和局部变量  
  62. 作用范围:  
  63.     成员变量作用于整个类。  
  64.     局部变量作用于方法中,或语句中  
  65. 在内存中的位置,  
  66.     成员变量:在堆内存中,因为对象的存在,才在内存中存在。  
  67.     局部变量:存在栈内存中。  
  68.   
  69. 3.2.6 匿名对象  
  70.     匿名对象是对象的简化形式  
  71.     匿名对象两种使用情况  
  72.         当对对象方法仅进行一次调用的时候  
  73.         匿名对象可以作为实际参数进行传递  
  74.         注意:每new一个就是创建一个新对象。  
  75.   
  76.   
  77. 3.3 封装(Encapsulation)  
  78.     封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式  
  79.     好处:将变化隔离  
  80.             便于使用  
  81.             提高重用性  
  82.             提高安全性  
  83.     封装原则:  
  84.         将不需要对外提供的内容都隐藏起来  
  85.         把属性都隐藏,提供公共方法对其访问。  
  86.   
  87.   
  88.         关键字  
  89.         private:私有修饰符,用于修饰类中的成员(如成员变量和成员函数)  
  90.         私有后,只在本类中有效。  
  91.         注意:私有只是封装的一种表现形式。  
  92.         p.age=-20;  
  93.         p.setAge() = -40;  
  94.         这二个不是一样的吗?  
  95.         不一样,我们可以在setAge()中先进行逻辑判断。对访问的数据进行操作,  
  96.         提高代码的健壮性。  
  97.         堆内存中的成员变量都有初始化值。自己初始化。  
  98.         局部变量要自己赋值才能参与运算。  
  99.   
  100. 3.4构造函数  
  101.     特点:  
  102.     1.函数名与类名相同  
  103.     2.不定义返回值类型(void 都不用)  
  104.     3.不可以写return语句  
  105.   
  106.     作用:给对象进行初始化,  
  107.     注意:1默认构造函数的特点  
  108.         当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数  
  109.         的构造函数。。。当在类中自定义了构造函数后,默认构造函数就没有了。  
  110.         2.多个构造函数是以重载的形式存在。  
  111.   
  112.         构造函数是在对象一建立就运行,给对象初始化  
  113.         而一般方法是对象调用才执行,是给对象添加对象具备的功能。  
  114.         一个对象建立,构造函数只运行一次。  
  115.         而一般方法可以被该对象调用多次。  
  116.   
  117.         什么时候定义构造函数呢?  
  118.         当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义  
  119.         在构造函数中。  
  120.           
  121.     构造代码块。直接写在类里的 {  } 和构造函数并行。  
  122.         作用:给对象进行初始化,对象一建立就运行,而且优先于构造函数运行。  
  123.         和构造函数的区别:  
  124.         构造代码块是给所有对象进行统一初始化。所有的共性初始化内容。  
  125.         构造函数是给特定对象指点初始化。  
  126.   
  127.         私有化所有构造函数,我们就建立不了对象。(单例模式)  
  128.   
  129. this关键字。 1. 用于区分局部变量和成员变量同名的情况。  
  130.     this代表的是什么呢?  
  131.     哪个对象调用this所在函数,this就代表哪个对象。  
  132.   
  133.     this的应用:当定义类中的功能时,该函数内部要用到调用该函数的对象时,  
  134.     这时用this表示这个对象。  
  135.   
  136.     2.this在构造函数间的可以互相调用。  
  137.         构造函数不能直接调用构造函数,要用this(name);  
  138.         注意:this语句只能放在构造函数的第一行。  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值