栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day11

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day11

封装 : 控制用户对类的修改程度,隐藏属性和行为的具体实现,只提供公开的接口即可
  简单来说,你只需要知道我能干什么,不需要知道我是怎么做的,也能够加强代码的安全性
   package : 软件包机制
           限制的是编译之后的class文件的保存目录,和源文件无关
           eclipse中,源文件也必须在这个目录中,这是eclipse的问题,和package无关
           而java中的package 只是规定class文件
       1 主要为了解决命名冲突问题
       2 package语句必须出现在java源文件的第一行
       3 一般采用公司域名倒叙的方式
           com.tledu.oa.system;
           com.tledu.oa.pojo;
           com.tledu.oa.dto;
           域名倒叙.项目名.模块名
       4 带有package语句的java文件 应该这样编译
               javac -d 生成路径 字符编码 源文件路径
              javac -d ./ -encoding utf-8 xxxx.java
                   -d : disk 磁盘
                   ./ : 代表当前目录
       5 运行
           java 包名.类名

调用一个不是本包中的类,需要写类全名
        包名.类名

 导入对应的这个类
 .* 是导入对应包下的所有类

java.lang.*; 下的所有类,为系统核心类,可以直接使用,不需要导入
import 用于导入当前类中需要用到的其他类
 该语句 必须在package语句之下,class语句之上
  调用一个不是本包中的类,需要写类全名
        包名.类名
        注意 : 写代码的时候,使用eclipse按空格  会自动导入对应的包
        如果程序没有问题,但是报错,可以查看一下,是否是导包错误了

 静态导入,访问一个类 的静态属性的时候,需要使用类名.静态属性访问
 但是静态导入之后,就可以直接写静态属性访问

public : 哪都行 private : 除了当前类,那都不行

默认 是包权限,同包可以访问

继承权限,要么同包,要么有继承关系

1 继承 : 
    继承 就是在已有类中派生出新的类,新的类能够吸收父类已有的属性和行为,并且还能扩展自己的属性和行为   
   2 继承特点
     java中 只支持单继承,不支持多继承 ,这样使java 的继承体系更加简单清晰
             一个类只能有一个父类,但是一个类可以有很多子类
     继承关系是可以进行传递的
    private私有化属性不能被继承
      3 解决什么问题?
          提高 代码的复用,提高开发效率
 
  一个类如果没有显示继承另一个类,那么该类默认继承 Object
         java.lang.Object ,是java提供的根类(祖宗) ,也就意味着 Object中的所有属性是所有类都有的
  
  4 怎么用
          语法  [修饰符] class 类名 extends 父类名{
                 类体;
         }

super : 官方给的说法是,代表了父类型特征,可以理解为父类对象
         通过子类中,可以使用super关键字,来标识父类,通过this来标识自己
  1 不能再静态上下文中使用
  2 用在构造方法或者成员方法中 ,区分子类和父类同名的变量和方法
          super.xxx = xxx;  super.m1();
  3 用在子类构造方法中,调用父类的构造方法
            super(参数);   必须出现在子类构造方法第一行
              this(参数) : 也必须出现在第一行,所以 他们两个不能同时出现
         如果 构造方法第一行 , 没有出现 this(参数) 也没有出现 super(参数)  
             则默认有个super()  调用父类的无参构造

构造方法私有化之后,不能被继承,因为子类构造方法中,需要调用父类构造方法
因为私有化的问题,导致子类调用不了

 override : 方法的覆写/重写
  什么时候需要重写 : 当父类功能无法满足子类需求的时候,子类需要根据需求对方法进行重写
 重写的必要条件
 1 必须有继承关系的体系中
  2 方法名必须一致 ,方法名不同,就是两个方法了,跟重写没有关系
 3 参数列表必须一致,如果参数列表不一致,就是方法重载
  4 返回值必须一致,返回值表示反馈的功能,不更改功能
  5 不能比原方法有更宽泛的异常(错误不能越来越多)
  6 不能比原方法拥有更低的访问权限
 重写的意义 : 
功能越来越强
  错误越来越少
 使用范围越来越广
 
  override和overload的区别
            1 分别是什么
             2 分别能干什么
             3 区别
  方法 覆写 特指成员方法,只有成员方法可以被覆写,和 静态方法,静态变量,成员变量 都没有关系

inal 是修饰符,表示最后的,最终的,不可更改的
  final修饰的类 不能被继承
 final修饰的方法 不能被覆写
  final修饰的变量 不能二次赋值,并且没有默认值
  final修饰的静态变量,一般叫常量 , 一般使用 public static final 修饰,常量名建议全部大写

深入final : final修饰的引用类型,地址不能更改,和地址对应的数据 没有关系

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/323308.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号