写在前面的话
本部分是在语法基础上的一些内容,比如内部java函数库,继承多态等
 
“与”和“或”运算符
1.短运算符(&&,||)
   &&与,必须表达式两边都为true表达式才会为true,如果左侧为false了,就不会去计算右方的算式直接返回false,可以用&&来避免操作内容为null指针变量的情况if(refVar!=null&&refVar.isValidType()){}
   ||同理,如果左侧已经返回true了,不会再去计算右侧就直接返回true了
2.长运算符(&和|)
   &和|使用在boolean表达式时,强制要求计算运算符两边的算式
3.可以用括号将表达式括起来来控制运算优先级
 
1.类会用包来组织
2.类的完整的名称是由包名和类名组成的,比如ArrayList实际叫做java.util.ArrayList
3.除了java.lang之外,使用其他包的类都需要指定全名(System和String等是java.lang下的),java.lang是个预先被引用的包
4.import不会把包或类包进去,只是剩下了写类前面的包名而已
5.javax开头的包说明他以前是个扩展包,后来才变成标准包的
 
继承
1.继承的范例
public class subclass extends parent class{
    可以定义自己的实例变量
    可以定义自己的方法,也可以重写父类的方法
}
2.调用方法时java虚拟机会选中最近的方法,从下向上找,所以如果子类覆盖过父类的方法,调用时会使用子类中的方法
3.判断继承是否合理,遵循X IS-A Y,即x是y是正确的。IS-A是单向的
4.子类通过extends继承父类,子类会继承父类所有public的实例变量和方法(不会继承private的变量和方法)
5.继承的方法可以被覆盖掉,但实例变量不会被覆盖。
6.子类要实现不完全覆盖父类方法时,可以使用super来先执行父类的方法,然后在追加子类的不同的内容,例如:
     public void roam(){
          super.roam();
          接下来是子类单独要实现的部分
     }
7.被能被继承的类:
     存取控制,非public的只能被同一包的类继承;
     使用final的类被认为是继承树的末端,不能被继承;
     只拥有private构造程序的类不能被继承
8.使用final修饰的方法不能被覆盖
9.java只支持继承1个类,因为如果继承多个类可能差生致命方块的问题(继承的两个类都重写了同一方法,会造成子类不知道使用哪个方法来实现)
 
多态
1.多态实现方式:继承并对父类的方法进行重写
2.对父类的方法进行覆盖重写时,必须参数与父类相同,返回值与父类兼容(与父类一致或是父类返回值的子类),否则不算重写而是过载
3.子类覆盖重写不能降低方法的访问权限,比如父类中是public,子类变为private是不合法的
4.父类型的引用可以指向子类型的对象,例如:
     animal  my dog=new dog()
     注意:使用多态调用方法时会先检查父类中是否有该方法,否则会报错。
5.父子类型上下转换:
    子类型转换成父类型,不需要强转,直接转换:
     dog a =new dog();
     animal b =a;
     父类型转换成子类型,需要强制转换,使用(子类名)来强转,且父类型的引用必须指向子类的对象:
     animal a=new dog();
     dog b=(dog)a;
 
方法重载
重载的意义是定义方法名相同,但是参数不同。可以返回不同类型值
1.重载和多态没有关系
2.返回类型可以相同可以不同,但是参数一定要不同(类型或个数)
3.可以更改存取权限
 
 

java基础二(阅读Head First Java记录)的更多相关文章

  1. Java入土--Java基础(二)

    Java基础(二) 接上一讲,我们接着来聊聊Java的一些基础知识,下一讲就会进行流程的控制. 类型转换 首先呢,是类型的转换,接上一个内容的数据类型,类型转换就是数据类型更进一步的应用. 由于Jav ...

  2. Java面试题总结之Java基础(二)

    Java面试题总结之Java基础(二) 1.写clone()方法时,通常都有一行代码,是什么? 答:super.clone(),他负责产生正确大小的空间,并逐位复制. 2.GC 是什么? 为什么要有G ...

  3. Java基础:三步学会Java Socket编程

    Java基础:三步学会Java Socket编程 http://tech.163.com 2006-04-10 09:17:18 来源: java-cn 网友评论11 条 论坛        第一步 ...

  4. [ 转载 ] Java基础二

    前言 关于赢在面试的Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应该说被面试到的几率很大.这里整理挑选出来供大家面试前拿来看一看,所有题目整理自网络,有一 ...

  5. Java基础二

    1 关键字 定义:被java语言赋予了特殊含义的单词. 特点:关键字中的所有字母都为小写. 用于定义数据类型的关键字 class.interface.byte.short.int.long.float ...

  6. java基础(二)-----java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  7. Java基础(二) 基本类型数据类型、包装类及自动拆装箱

    我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long ...

  8. java基础(二)--main方法讲解

    main()函数是如下的固定格式,除了args可以修改名字,其余均不可以修改 public class TestBase02MainMath { public static void main(Str ...

  9. 重学JAVA基础(二):Java反射

        看一下百度的解释:       JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息     ...

随机推荐

  1. 在JavaScript中进行文件处理,第三部分:处理事件和错误

    译注:原文是<JavaScript高级程序设计>的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考.原文链接:这里 FileReader对象用来读取浏览器可以访问的 ...

  2. SQL Server 创建角色和账号

    /*--示例说明         示例在数据库pubs中创建一个拥有表jobs的所有权限.拥有表titles的SELECT权限的角色r_test     随后创建了一个登录l_test,然后在数据库p ...

  3. Beta阶段第2周/共2周 Scrum立会报告+燃尽图 12

    作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制:https://git.coding.net/liuyy08 ...

  4. L192 Virgin Galactic Completes Test of Spaceship to Carry Tourists

    Virgin Galactic says its spacecraft designed to launch tourists into space completed an important te ...

  5. FOR UPDATE

    1. for update的使用场景 `如果遇到存在高并发并且对于数据的准确性很有要求的场景,是需要了解和使用for update的.    比如涉及到金钱.库存等.一般这些操作都是很长一串并且是开启 ...

  6. mysql sql语句高级写法

    将user表的内容,插入到team_member表INSERT INTO team_member (Nike,HeadImageUrl) SELECT Nike,HeadImageUrl FROM u ...

  7. [QT]QPixmap图片缩放和QLabel 的图片自适应效果对比

    图片大小为600x600 效果图: ui->label->setScaledContents(true);                                         ...

  8. UVALive 5135 Mining Your Own Bussiness【tarjan点双】

    LINK1 LINK2 题目大意 给你一个无向连通图,让你给一些点染上黑色,需要满足染色之后,断开任意一个节点,要满足任意一个联通块中剩下的节点中至少有一个黑点 思路 一开始想的是把每一个点双联通分量 ...

  9. 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0(使用 .NET Core 3.0 Desktop API Analyzer )

    今年五月的 Build 大会上,微软说 .NET Core 3.0 将带来 WPF / Windows Forms 这些桌面应用的支持.当然,是通过 Windows 兼容包(Windows Compa ...

  10. test20181018 B君的第一题

    题意 分析 考场爆零做法 考虑dp,用\(f(i,j,0/1)\)表示i及其子树中形成j个边连通块的方案数,其中i是否向外连边. \(O(n^3)\),转移方程太复杂就打挂了. #include< ...