JAVASE学习笔记:第五章 JAVA面向对象(二)

this关键字: 当成员变量和局部变量同名时,用this区分  在static 方法里不能用this  表示方法:this.成员变量名
this 代表当前对象的引用地址
this.成员方法
this语句  
1、this([参数类型 参数名称]);  一般情况下,this表示的构造函数   this(); 
2、根据this语句里面参数去找相匹配的构造函数 
3、this语句只能在构造函数里使用并且必须在句首
4、this只能放在本类中
自动创建构造函数方法: 右击source ---倒数第三项using fileds;
面向对象的特征:封装、继承、多态、(抽象)
一、什么是封装?把客观事物封装成抽象的类,并且类可以把自己的属性和方法只让可信的类或者对象进行操作,对不可信的类或者对象隐藏,这样的过程叫做封装。
   private 1、不能对类进行封装
           2、一般只对类的属性进行封装,不对方法进行封装
           3、为了封装后的属性能在其他类中使用本类的成员属性,需要扩大该属性范围,这时需要使用GET(获取)和SET(设置)方法
自动创建get和set方法: 右击source ---geters and seters;

二、什么是继承?一个新类从现有的类派生。这样的过程叫继承;在继承的过程中,派生的类被称为子类,现有的类被称为父类
继承格式:  [修饰符]  class 子类  extends 父类名{}
继承特点:1、子类只能继承一个父类,不能继承多个父类,也就是说java是单一继承的东西
          2、private字段不能被继承
          3、在继承的时候会调用父类的构造函数
方法的重写:override   当父类的方法不能满足子类的需求,那么这时需要在子类中进行重写这个方法,这个过程叫方法的重写(覆写)
重写注意:1、在重写的过程,方法的结构不能改变,但是方法的修饰符可以改变,但修饰符权限要大于或等于父类中的访问修改符
          2、在创建对象的时候,如果仅仅创建父亲对象,调用的是父类方法,而子类创建对象,调用的重写之后的方法
object是所有类的父类
super 和this的使用方法一样,但只能在子类中使用
1、super只能在子类中使用,调用父类的方法  如 super.name  表示父类的name
2、super();调用父类的构造函数
3、因super();和this();都必须放在句首,所以不能同时存在
自动创建重写方法:击source override----Methods;

final 关键字 作用:
1、把变量变成常量
2、用final修饰的这个类不能被子类去继承
3、用final修饰的方法可以被子类继承,但是不能被子类进行重写

static 静态修饰符 关键字
1、可修饰成员成员变量、成员常量、成员方法
2、不能修饰构造函数
3、不能修饰局部变量,局部变量只能用final修饰
用static修饰的成员叫类成员,使用staitc修饰的成员变量叫类变量,使用static修饰的方法方法叫类方法
反之叫实例成员,实例变量,实例方法
static 使用范围
1、类成员只能使用类成员,不能使用实例成员(静态的只能使用静态的而不能使用非静态的)
2、实例成员可以类成员和实例成员(非静态的可以使用静态和非静态的)
3、用static修饰成员后多了一种调用方式:直接 类名.类成员 
4、因使用static修饰后变成公共的,不仅是对对象进行共享,还对类进行共享,不安全尽量少用
5、用static修饰的方法可以被子类继承但是不能被重写
静态代码块:随着类的加载而加载
static{
 执行语句
}

{
      执行语句  //随着创建对象时调用,优先于构造函数的执行语句

*当对象只使用一次时,尽量使用匿名创建对象

包(package)是Java用于提供访问保护和命名空间管理的方式,就是用来将Java中类和接口等进行分类管理的工具,类似于操作系统中的目录
命名规则:一般情况下:倒置域名.功能名  eg:  java.util.Scanner
包名必须放在类之前
利用DOS命令编译带包的类:
javac -d . demo1.java  (按包名编译到对应路径的.class文件)
java 包名.demo1
包的导入: import 包名.类名;
什么时候需要导入包:当需要调用的类不在本包中,需要导入包
默认包不能被导入
快捷键导入所有包:ctrl+shift+o

类的修饰符  public (default)  final 
private  只能在本类中使用,不能被继承
(default) 不加修饰符,能在同包的类中使用,能被同包的子类继承
 proctected 能在同包的类中使用,非同包的子类,能被继承
 public 能被所有类访问,也可以被继承

向上转型:用子类引用地址创建父类的对象         eg: Animal a =new Dog();
向上转型之后调用的方法如果被子类重写之后,调用的是重写之后的方法
向上转型必须是继承

向下转型:判断这个父类是不是属于这个子类,如果属于则强制转换       Dog d=(Dog)new Animal();

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值