黑马程序员第四节---面向对象

                                                                                                    第四节    面向对象
1.类和对象的关系
 类:就是对现实生活中事物的描述
 对象:就是这类事物的一个实体

2.成员变量和局部变量
成员变量作用于:真个类中
局部变量作用于:函数中或者语句中
 成员变量在堆内存中,因为对象的存在,才在内存中存在
 局部变量在栈内存存在

 3.匿名对象的应用
 Car c=new car();
 c.num=8;
  匿名对象的简化写法
  new Car().num=8;
  3.1 匿名对象和有名对象有什么不同?
  匿名对象调用熟悉没有任何意义,但调用方法有意义!

总结:匿名对象使用方式一 :当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化
   如果对一个对象的多个成员调用时,必须给这个对象起个名字
   匿名对象使用方式二:可以将匿名对象 作为实际参数进行传递   show(new Car());


4.封装:
 是指隐藏对象的属性和细节,仅仅对外提供公共访问方式
好处:
(1)提高重用性
(2)将变化隔离
(3)便于使用
(4)提高安全性
对于一个变量有两种操作,一个是直接赋值,一个是获取

5.构造函数:
 对象一建立就会调用与之对应的构造函数
 构造函数的作用在于可以对对象初始化

5.1 一个对象建立,构造函数只运行一次。
而一般方法,可以被对象调用多次

5.2 构造代码块定义的是不同对象共性初始化的内容
使用构造代码块,可以提高程序的简介性,不需要在
所有对象里面写出共有的特性

6.this
(1)用来区分局部变量和成员变量
this.name=name  // this.name中的name是指对象的name 即成员变量 (堆内存中 ) 而name是指局部变量的name(栈内存中)
(2) 当定义类功能时,该类内部要用到本类对象时,这是用this关键字表示该对象
 但凡本类功能内部使用到了本类对象,都用this表示
(3)this 语句在构造函数之间调用
person(String name){
 this.name=name;

}
person(String name ,int age){
  this(name); //p(name)
  this.age=age;
}
class Person
{
 Person p=new  Person("java",80);
 
}
(4)this 语句只能在构造函数的第一行,因为初始化要先执行


6.static 关键字
用法:是一个成员,只能修饰成员(成员变量,成员方法),静态修饰的内容被对象共享.
但成员被静态修饰时,就多了个调用方式,除了可以被对象调用外,还可以被类调用.
被 static 修饰的,在内存中存放在方法区(共享区,数据区)
static 的特点:
(1)随着类的加载而加载 ,随着类的消失而消失 ,说明它的生命周期最长//与类共存亡
String name; //成员,变量,也叫实例变量  ,只有当对象创建了,才进入内存中.
static int  age; //静态变量,类变量 ,与类存亡,类加载到内存时,它就进入内存.所以说优先于对象存在
(2)优先于对象存在
(3)被所有对象而共享
(4)可以直接被类名而调用


6.1 静态使用注意事项
(1)静态方法只能访问静态成员(方法,变量)
(2)非静态既可以访问非静态,也可以访问静态
(3)静态方法中不可以定义 this ,super 关键字,但是不可以使用 this,因为它优先于对象存在
 this 后一般是对象,对象不存在,怎么访问呢!

6.2 静态的利弊:
利:(1)节省内存空间
 (2)直接被类名调用

弊:
(1)生命周期过长
(2)访问出现局限性(静态虽好,只能访问静态)

6.3 主函数
 主函数是一个特殊的函数
 public static void main(String[]ags){}
public :代表函数访问权限是最大的
static :代表主函数随着类的加载就已经存在了
 void :代表主函数没有具体的返回值
main:不是关键字,但是是一个特殊的单词,能被jvm识别。
String[]args :函数的参数,代表字符串类型的数组.

主函数是固定格式的:被jvm识别
唯有能改动的是:args 因为它是一个变量名 ,原名arguments//参数的意思


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值