java期末考试重点_java期末复习知识点

41528d3028836879cd698677c3999917.gifjava期末复习知识点

Java 知识点整理 1,变量传值(两个变量赋值,将一个变量给方法的参数赋值) A, 值传递:基本类型之间是值的复制,传递基本数据类型参数 值传递只是将(实参)参数复制一份(传递给形参)而已,函数进行操作的是 另一个参数(形参),只是另一个参数(形参)的值和传递的参数(实参)值是相同 的,另一个参数(形参)对方法值的改变不会影响到该参数(实参)的值。 B,地址传递:引用类型之间的是地址的复制,将对象作为参数传递 地址传递是直接把参数(实参)的地址传递给函数,这时函数是直接对原 来的参数(形参)进行操作的,所以值会变化。 方法中需要传递的参数成为形式参数,即形参,而对象或者基本类型称 为实际参数。Eg:int a=10;Book b=new Book(),为实际参数 2,继承只能单继承 在找错题中注意父类有无无参构造器。 如果子类构造方法的参数和父类构造方法的参数相同,则意味着进行重写, 重写需满足传递参数、方法的声明都相同。 在方法重写时,如果需要调用父类的构造方法,则用 super.方法() 一个.java 源文件定义一个类,类都使用 public 定义 诸如结婚是否满足条件,可以在 clas person 里面定义一个 public Boolean marrywith(person p),诸如对年龄、收入等等进行区分,可以在 setage 中进 行定义区别 Eg:父类 shape 有子类 circle 和 rect,shape 里面可以没有成员变量,构造方 法等,只需要有方法,诸如 area 等可以 return0;然后在子类中重写,super.方 法(),是继承父类 3,多态性 使用多态需要有继承关系,多态的使用可以提高方法参数的灵活性,父类 型具有多态性,可以引用子类对象 eg:Fther f=new ChildA(); 多态的灵活运用: public static void main(String[] args) { Circle c1 = new Circle(5,3,10); Rect r1 = new Rect(10,20); display(c1);display(r1); } public static void display(Shape s){ //shape 为父类 //判断 s 的原本类型是否为 Circle if(s instanceof Circle){ Circle c = (Circle)s;//强制转型 c.f1();//调用 Circle 新增方法 f1 } System.out.println(“面积:“+s.area()); //因为参数传入为 s,方便 用 System.out.println(“周长:“+s.zhouchang()); } 4, Static 关键字 有 static 修饰的成员与类相关,没有 static 修饰的成员与对象相关 (1)修饰属性 a.通过类名.调用 b.该类的所有对象共享该属性。 c.属性是在类加载器加载该类时分配空间 (2)修饰方法 a.通过类名.调用 b.该方法内只能使用有 static 修饰的属性或方法 c.方法内不能使用 this,super 关键字 (3)修饰代码块 a.是在类加载时执行,因为虚拟机对类只加载一次, 所以静态代码快只在第一次加载时执行。仅执行一次 静态模块的灵活运用 Static{} 5, final 关键字 (1)修饰类 类为最终类,不能被继承。 (2)修饰方法 方法为最终方法,在子类中不允许被重写(覆盖)。 (3)修饰属性 属性值在赋值后,不允许被修改. 可以写于 main 方法外面 定义属性时,如果加了 final,必须显示给定初值,系统不能默认初始化。 6,定义常量格式: public static final 类型 常量名=值 常量名注意全部大写 写于 main 方法外面 7,抽象类:abstract (1)抽象类概念 a.抽象类只能作为父类使用,不能实例化。 b.抽象类可以包含抽象方法,也可以不包含抽象方法。 c.如果子类继承了抽象类,必须全部实现父类的抽象方法, d.否则子类得继续充当抽象类。 (2)抽象方法 a.在定义父类时,如果有些方法无法确定具体实现,可以定义成抽象方 法。 Eg:猫的爬树和熊的力量,不一定能全部实现 b.抽象方法格式如下: 修饰符 abstract 返回类型 方法名(参数列表); 抽象类构造方法必须存在于抽象类中!! 8, interface(1)概念 接口是一种特殊的抽象类,其中只有常量和抽象方法的定义。弥补了继 承只能单继承的缺点。它是系统和外界交互的窗口。 Eg:public static final int A=0; public void liliang(); (2)接口定义格式 public interface 接口名 extends 接口 1,接口 2.{ } 注意:与类继承不同,接口允许多继承。 (3)接口的使用 public class 类名 implements 接口 1,接口 2.{ //必须实现接口中的所有方法 //否则该类必须是抽象类 } //多态使用 接口类型 变量 = new 接口实现类(); 9,模版设计模式:day7 运用到 abstract a.代码重复利用 b.如果业务的主要处理逻辑相同,局部子类实现不同,可以将这部分相同逻辑提到模版类中,模版类采用抽象类定义。不同实现部分放到子类实现。 10, 单子模式 day7 为了保障一个类,只能创建出一个对象,不能存在多个对象。 实现步骤: a.将构造方法私有,防止外界使用 new + 构造方法()创建对象 b.提供一个静态返回当前类型对象的获取实例的方法.第一次调用该方法时,调用 new 构造器创建对象,后续调用该方法时,将 第一次创建的对象返回11,eg: String id=sc.next(); String id1=“\\d{15}|\\d{18}“; if(id.matches(id1)) //匹配用matchs { p.setId(id);//这里把信息输入放入一个数组中去,方便输出! } else{ System.out.println(“您输入格式有误,请重新输入!“); return; //输入错误会直接结束,不会执行下一段 } 12,打乱排序:collections.shuffle(list); 13,String(1)不可改变:String 对象的内容是不能改变的.String str = “abc“;//创建了一个对象,存储 abc,然后将引用给 str 变量str = “efg“;//又创建一个对象,存储 efg,然后将引用给 str 变量(2)字符串缓冲区用于字符串常量,缓冲区中的字符串对象可以共享String s1 = “abc“;//在缓冲区中创建存储 abc 的对象,然后将引用给 s1String s2 = “abc“;//使用前面创建的存储 abc 的对象注意:new String(“abc“)创建出来的对象不使用缓冲区(3)常用的 String 方法 char charAt(int index) //抓

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值