JAVA面向对象

面向对象编程:封装、继承、多态

一、封装

将类的某些信息隐藏在类的内部,不允许外部程序直接访问,通过该类提供的方法对隐藏的信息进行相应的操作

1.将属性用private进行修饰

2.外部根据类中提供的set和get方法对属性进行相应的操作

通过封装保证了代码的安全性

二、this关键词

局部变量:在方法中定义的

全局变量:在类中定义的

1.this关键字指代的是当前对象,this.属性名 访问的是全局变量对应的值

2.this可以显示调用某个具体的构造方法,this(参数)根据参数的个数和对应的类型调用对应的构造方法

注意点:每次new都产生一个新的对象

Person person = new Person();

Person person1 = new Person();

产生了2个Person对象,变量person中保存的是对象的内存地址

三、继承

通过继承可以让子类具有父类的属性和方法,子类也可以追加自己的属性和方法

语法:class A extends B  其中A是子类,B是父类

继承中成员访问的特点:

在子类中访问一个变量,采用的是就近原则

1、在子类的局部范围内找,找到了就输出

2、在子类的属性或者成员范围内找,找到了就输出

3、在父类的成员变量范围内找

注意事项:

1、java只支持单继承,不支持多继承,一个类只能有一个直接的父类

2、java中支持多层继承

A extends B    B extends  C

3、如果一个类没有显示的声明其父类是谁,默认的父类是Object

重写:当子类从父类中继承来的方法不满意时,子类可以对该方法进行重写

私有方法(被private修饰的方法)不能被重写

super关键字

super在java中表示父类对象,this表示本类对象(成员方法、成员变量、构造方法)

构造方法:

先执行父类中的构造方法,然后再执行本类中的构造方法

super(参数) 显示调用父类中的某个具体的构造方法

this(参数) 显示调用本类中的某个具体的构造方法

在普通方法中,不能调用构造方法

在构造方法中调用this(参数)或者super(参数)时,必须位于第一行

四、分包

分包思想:将所有的java文件放在一个包下  不利于后期的管理和维护,将不同的java文件放在不同的包下进行管理

包:包就是文件夹  用来管理文件

分包:创建不同的文件夹 用来管理文件

定义一个包:package 包名      多级包名   使用.进行分隔  包名都是小写字母

package com.aaa

注意事项:

1、package必须位于程序的第一行

2、package语句在java文件中只能有1个

3、没有package默认表示无包名

导包:使用不同包下的类时,需要使用这个类的全类名[包名+类名]

使用Import导包  import 包名 + 类名

类与类之间的访问:

类和类在同一个包下:不需要导包  直接使用即可

类与类不在同一个包下:1、使用import 导包 import 包名+类名   2、通过全类名访问(包名+类名)

import 包名.*;代表将该包下的所有类全部导入进来,此时不需要一个一个导入

final和static关键字:

final可以修饰方法 、属性/成员变量 、类

修饰类:这个类不能被继承了

修饰方法:该方法不能被重写了

修饰属性:表示该变量是一个常量,不能再次赋值

final修饰基本数据类型和引用数据类型的区别:

修饰基本数据类型时:基本数据类型的数据值不能发生改变

修饰引用数据类型时:引用数据类型的地址的值不能发生改变,但是地址里的内容可以改变

static 静态 修饰方法和属性

修饰属性:会被当前类的所有对象共享(通过类名.属性名访问或者通过对象.属性名访问)

修饰方法:通过类名.方法名访问或者通过对象.方法名访问

推荐使用类名.属性名、类名.方法名访问

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值