黑马程序员

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

(重点) 形式参数和返回值问题
  
 形式参数:
  基本类型:
  引用类型:
   具体类 : 参数列表中要接收的是,具体类的实例对象
   抽象类 : 参数列表中要接收的是,继承抽象类的子类的实例对象
   接口   : 参数列表中要接收的是,实现接口的类的实例对象
   
 返回值:
  基本类型:
  引用类型:
   具体类 : 返回结果是,具体类的实例对象
   抽象类 :返回结果是,继承抽象类的子类的实例对象
   接口   :返回结果是,实现接口的类的实例对象

(了解)链式编程
 new Outer().method().show();
 每一次方法调用完毕后,都会返回一个对象,
 用返回的对象继续调用方法,再返回对象,再调用方法....
 
(了解)包(package):
  包 可以理解为 就是文件夹
  
  包 是用来存储多个.class类的
  包 对类进行分类管理

 包的格式:
  package 包名;
  多级包之间,使用.分隔
 
 包的划分:
  举例:
  学生的增加,删除,修改,查询
  老师的增加,删除,修改,查询
  以及以后可能出现的其他的类的增加,删除,修改,查询
  基本的划分:按照模块和功能分。
  高级的划分:就业班做项目的时候你就能看到了。

 按照模块:
  cn.itcast.teacher
   AddTeacher
   DeleteTeacher
   UpdateTeacher
   FindTeacher

  cn.itcast.student
   AddStudent
   DeletetStudent
   UpdateStudent
   FindStudent

 按照功能:
  cn.itcast.add
   AddTeacher
   AddStudent
  cn.itcast.delete
   DeleteTeacher
   DeletetStudent 
  cn.itcast.update
   UpdateTeacher
   UpdateStudent 
  cn.itcast.find
   FindTeacher
   FindStudent


 -----------------------------------
 注意事项:
  package语句必须是程序的第一条可执行的代码
  package语句在一个java文件中只能有一个
  如果没有package,默认表示无包名

 带有包的Java程序如何编译运行:
  1:手动
   a: 编译java文件,产生class文件
   b: 创建包所对应的多层文件夹,把class文件放到最低层文件夹中
   c: 运行 java 包名.类名方式访问
  2: 自动创建包
   a: 编译java文件,产生对应的包,把class文件放入包的最底层
    javac -d . 文件名.java
   b: 运行 java 包名.类名方式访问

 
(了解)同包下类之间的访问:
 导包格式
 import 包名.类名;
 import 包名.*;//不建议
 
 注意:
  这种方式导入是到类的名称。

 package,import,class有没有顺序关系(面试题)
  package --> import --> class 
 
 在一个java文件中,只能有一个package
 可以有多个import
 可以有多个class,通常一个java文件中对应一个类

(了解)四种权限修饰符:
    当前类中 同一个包下(子类和其他类) 不同包下的子类 在不同包下的其他类
 private  Y   
 默认  Y   Y
 protected Y   Y       Y
 public   Y   Y       Y    Y


(了解)类及其组成可以用的修饰符:
 权限修饰符: private 默认 protected public
 状态修饰符: static final
 抽象抽象符:  abstract

 类:
  权限修饰符: 默认 public
  状态修饰符: final
  抽象抽象符:  abstract
  
  最常用的就是 public

 成员变量:
  权限修饰符: private 默认 protected public
  状态修饰符: static final
  
  最常用的就是 private

 构造方法:
  权限修饰符: private 默认 protected public
  
  最常用的就是 public

 成员方法:
  权限修饰符: private 默认 protected public
  状态修饰符: static final
  抽象抽象符:  abstract

  最常用的就是 public


(了解\理解)内部类:
 把类定义在其他类的内部,这个类就被称为内部类。  
 class Outer{
  class Inner{}//内部类
 }
 
 (面试题)内部类的访问特点:
  内部类可以直接访问外部类的成员,包括私有。
  外部类要访问内部类的成员,必须创建对象。
 
 内部类的分类:
  成员内部类: 类中方法外
  局部内部类: 方法内
  
 成员内部类的使用
 格式:
  外部类名.内部类名 对象名 = new 外部类名().new 内部类名();
  
 成员内部类的修饰符:
  private: 提高安全性
  static : 方便内部类的访问
 
(面试题)局部内部类访问局部变量
 必须被final修饰?
 为什么呢?
  因为局部变量会随着方法的调用完毕而消失,
  这个时候,局部对象并没有立马从堆内存中消失,还要使用那个变量。
  为了让数据还能继续被使用,就用fianl修饰,
  这样,在堆内存里面存储的其实是一个常量值。
  通过反编译工具可以看一下

(了解\理解)
 匿名内部类,就是没有名字的内部类,它是内部类的简化写法。
  
 前提:存在一个类或者接口
  这里的类可以是具体类也可以是抽象类。
 
 格式:
  new 类名或者接口名() {
   重写方法;
  };
  
 本质:
  是一个继承了类或者实现了接口的子类匿名对象
  
  匿名内部类:
   理解为继承了一个类或者是实现了一个接口的子类,
   并且完成了子类对象的创建,
   同时子类对象没有名字

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值