A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陆陆 中级黑马   /  2017-12-8 17:38  /  1708 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天是就业班自习的第一天,复习了前两天的学习内容

day01
static 是一个关键字,用于修饰成员变量和成员方法

static 的特点:
被所用对象所共享
可以使用类名调用            
静态的加载优先于对象
随着类的加载而加载

static 注意事项:静态方法只能调用静态的成员,非静态方法都可以调用
静态方法可以调用静态成员变量   
静态方法可以调用静态成员方法
不可以调用非静态成员变量
不可以调用非静态成员方法        

静态方法中没有this


Math 类:包含了一些基本的数学运算方法
static double PI      //  π
static  double abs(double a)      //返回绝对值
static double ceil(double a)        //向上取整
static double floor(double a)        //向下取整
static long round(double a)       //四舍五入
static double max(double a,double b )       //最大值      
static double pow(double a , double b)       //返回第一个参数的第二个参数次幂
static double random( )                              //返回随机数0-1之间      


代码块 :大括号里
局部代码块:方法里,作用:控制变量的作用域
构造代码块 :作用:提取构造方法中的共性,每次创建对象都会执行,并且在构造方法执行之前执行
静态代码块:随着类的加载而加载,只加载一次
同步代码块  :(略,后面讲)   

day02
继承:多个类有共同的成员变量和成员方法,抽取到另一个类中(父类);
extends

Java 继承特点:
只能单一继承,只能一个父类
支持多层继承      

继承中成员变量的特点
子类只能获取父类非私有成员
子父类中成员变量的名字不一样直接获取父类的成员变量
子父类中成员变量名字一样就获取子类的成员变量

就近原则: 谁近用谁   
        有局部变量就使用局部变量;
没有局部变量,有子类的成员变量就使用子类的成员变量
没有局部变量和子类成员变量,有父类的成员变量就使用父类的成员变量
啥都没有,就出错了!!

super : 可以获取父类的成员变量和成员方法,用法和 this 相似

继承中成员方法的特点:
子类只能获取父类非私有的方法
子类中没有这个方法,调用父类的
子类中重写了这个方法,调用子类的

方法的重写(override):在子父类中,子类的方法和父类的完全一样,子类重写了父类的方法(覆盖)
子类重写了父类的方法之后,使用子类对象调用的就是子类的方法

方法重写的应用场景和注意事项
方法重写的应用场景:当父类的方法不能完全满足子类使用,重写父类的方法
可以用super 中使用关键字super调用父类的方法,既有子类又有父类功能
  注意事项 :
注解:@开头   写在方法上,类上,变量上       @ alt+?
不能重写父类私有的方法
权限必须大于等于父类方法的权限


继承中构造方法的执行顺序:
在有子父类继承关系的类中,创建子类的对象,调用子类的构造方法
如果子类构造方法的第一行代码没有调用父类的构造方法,则默认调用父类的无参构造,
肯定会先执行父类的构造,因为先给父类的成员变量进行初始化,子类可能会使用到

我们可以使用super() 在子类的构造方法的第一行中调用父类的构造方法

eg : 我是父类无参---子类有参---子类无参构造            

注:子父类中不能被继承的两个:1. 构造方法,2.私有

this 和super 的区别:
this : 当前对象的引用
调用子类成员变量;调用子类成员方法;子类第一行调用子类其他构造方法
super : 子类对象的父类引用
调用父类的成员方法;在子类构造方法第一行调用父类的构造方法

继承优缺点:
优点:提高代码复用性;
   提高了代码的可维护性;eg: 遇到bug直接改父类

匿名对象: 没有名字的对象(没有变量引用的对象)
eg :  new Student();

匿名对象的应用场景:
当方法只调用一次的时候可以使用匿名对象
注: 匿名对象可以调用并赋值,但是赋值没有意义
eg : method(new Student);
注:可以当作参数进行传递,但是无法在传参之前做其他的事情

final 关键字: 修饰类,成员方法,成员变量  
final 所修饰的类:不能被继承,没有子类
final 所修饰的方法: 不能被子类重写
final 所修饰的变量 : 不可以修改,是常量  

常量:
自面值常量:1,2,3
自定义常量: 被final 所修饰的成员变量,一旦初始化不可被改写   一般全大写



抽象类的概述:(抽象类都是父类)

abstract :关键字,用于修饰方法和类
eg: abstract class Animal {
public abstract void eat();
}
抽象方法:不同类的方法是相似,但是具体内容不太一样,所以抽取他的声明,没有具体方法体
抽象类:有抽象方法的类必须是抽象类

注意:一个类继承了抽象类必须重写所有的抽象方法,否则就得是抽象类

抽象类的特点:
抽象方法只能在抽象类里面,抽象类和方法必须用 abstract
抽象类不能创建对象(不能实例化)
抽象类中可以有非抽象的方法
抽象类和类的关系也是继承,一个类继承了抽象类,要么重写所有抽象方法,要么自己也是抽象类

抽象类的成员特点:
成员变量:
可以有 成员变量 和 常量
成员方法:
可以有 抽象方法 和 非抽象方法
构造方法 :
可以有构造方法,需要对抽线类的成员变量进行初始化

抽象类的细节:
abstract 不可以和哪些关键字共存?
      答: final,private ,static

抽象类有构造函数,可以没有抽象方法



7 个回复

倒序浏览
厉害了,,这是做的笔记吧,,继续加油!保持
回复 使用道具 举报
继续努力
回复 使用道具 举报
加油,骚年,坚持总结,查漏补缺
回复 使用道具 举报
每天争取都要全部掌握全部吸收哟~~~
回复 使用道具 举报
哇撒,总结很到位呢,不错不错啊
回复 使用道具 举报
厉害了   我的哥     继续努力    加油
回复 使用道具 举报
善于总结   温故而知新   加油哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马