1.基本数据类型
  - 整数型:byte  short  int  long   默认为int 计算时需要转换 
  - 浮点型:float  double     默认为double 
  - 布尔类型:boolean
  - 字符型
  
2.引用类型     包括数组,类,接口
  类型  引用对象  =  new  构造方法( );
  Person  p  =  new  Person();   Person作为一个引用类型
 
3.函数或方法
  - 方法的重载:函数名一样,参数个数、类型不一样,返回值可相同可不同
  - 重载和重写的区别
       重写是继承    函数名,参数类型,个数相同   发生在父类和子类关系的类,子类定义与父类完全相同的方法,子类调用时候直接调用子类重写的方法
       重载不用继承    函数名相同,参数的类型,个数,顺序不同  发生在一个类中
4.面向对象
  设计ATM机的终端系统:
  ATM机;
  银行卡
  钱
 
  类是抽象的 创建的对象是具体的
  数据传递时候:考虑的是对象与对象之间的传递数据
  对象是类的具体实例
 
  访问权限  --四个
  private:本类中
  默认: 本包中
  protecte:本包中、外包的子类中
  public:整个项目中
  
  ①封装  把对象的属性和行为结合在一个独立的系统单元内部
  - 封装.jar包
  cmd命令:javac  执行java文件  使其生成.class文件
                  javac -d  执行.java文件和.class文件
  压缩成.jar文件之后需要重新解压  修改met文件夹中的文件  将包名和类型全部修改  重新压缩    否则执行不了
 
  ②继承(泛化)
  extends
    父类:超类,基类
    子类:派生类
     super():调用父类构造器
     this():调用本类构造器
  ③多态  
      多态必须建立在继承的基础上,没有继承就没有多态
      当父类作为方法的形参时,所有的子类都可以传递

父类的引用指向子类对象

Fruit f = new Apple();//Fruit作为父类,指向子类Apple
构造器
   完成对象的创建(实例化)  一般也完成对象的初始化

public class Person{
String name;
int age;
String sex;
//构造器
public Person(String name, int age,String s){
this.name=name;
this.age=age;
this.sex=sex;
}
}

构造方法
     创建对象
     为属性赋初始值
     默认一个无参数的构造方法
     但是一旦定义了有参数的构造方法,则不会生成默认的无参构造方法
 
关于父类子类的执行顺序

变量
  - 局部变量:定义在方法体中,或方法的形参  
  - 实例变量:类的属性,全局变量  
  - 静态变量:声明为static的属性  
 
 
内存的类别
 
Penson p = new Person("aa","11","male");

//对象名 p 存放在栈内存中  ,属性值存在堆内存中,p 也称为对象的引用

栈内存
    - 基本数据类型的局部变量,对象的引用值
  堆内存
    - 对象的属性,数组的元素   有New 就用堆内存
  在其他类中或者方法中 ,要想访问对象的方法或者属性,就必须实例化这个类,然后通过对象名和点操作符来完成;在本类中直接访问
 
  垃圾回收机制:作用于堆内存
super()  调用父类的构造方法
 
static 类变量(静态变量) 所有类共享,只在类加载的时候创建,执行一遍  可以直接调用,类存在static变量就存在
局部变量不允许被static修饰
实例变量  非static属性
 
非静态方法 必须 用对象来调用

public class Test{
public void add(int a,int b){}
public static void main(String []args){
Test t = new Test;
t.add(1,2);
}
}
//add是非静态方法,main方法是静态的,所以只能先创造出Test对象,再调用add函数
数据类型的转换
     向上转型:子类转换为父类,具有继承和实现关系,损失子类新扩展的属性,方法
     向下转型:强制转换
Animal a = new Cat();//向上转换
Cat c = (Cat)a;//向下转换

instanceof 运算符判断经过上溯转型后是哪个子类的

object instanceof class//判断一个对象是否属于一个类
object instanceof interface//判断一个对象是否属于一个接口
//返回值都是boolean
final 可以修饰:
        - 类:不能被继承了
        - 变量:相当于常量
        - 方法:
 
接口  中只有常量和抽象方法
     常量:public  static  final
     抽象方法:public  abstract
 
抽象类   
     用 abstract 定义的类
 
 
 
 
 
 
 
 

JAVA基础----持续更新的更多相关文章

  1. Java设计模式 - 持续更新

    注意,此博客来源于我的 OneNote 笔记本 因此属于图片形式进行展示,这意味着你可以: 不经过我的同意进行保存 不经过我的同意进行发布 我仍然希望搬运时留一个网址指明来处:我的博客园 多谢!以下是 ...

  2. 韩顺平Java(持续更新中)

    原创上课笔记,转载请注明出处 第一章 面向对象编程(中级部分) PDF为主 1.1 IDEA 删除当前行,ctrl+y 复制当前行,ctrl+d 补全代码,alt+/ 添加或者取消注释,ctrl+/ ...

  3. 剑指offer面试题-Java版-持续更新

    最近在用Java刷剑指offer(第二版)的面试题.书中原题的代码采用C++编写,有些题的初衷是为了考察C++的指针.模板等特性,这些题使用Java编写有些不合适.但多数题还是考察通用的算法.数据结构 ...

  4. Java笔记 (持续更新ing)

    目录:  1 .  GC是什么,为什么要有GC? 1. GC是什么,为什么要有GC? GC是垃圾回收的意思,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃 ...

  5. 【剑指offer】Java实现(持续更新中)

    面试题3 二维数组中的查找 Leetcode--74 Search a 2D Matrix /*Java Write an efficient algorithm that searches for ...

  6. Java基础面试题(史上最全、持续更新、吐血推荐)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  7. [JavaCore] 不错的Java基础学习资料-持续更新

    容易弄混的JAVA基础知识: http://www.iteye.com/topic/943647 [总结]String in Java: http://www.iteye.com/topic/5221 ...

  8. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  9. Effective Java通俗理解(持续更新)

    这篇博客是Java经典书籍<Effective Java(第二版)>的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约 ...

随机推荐

  1. MySQL 启动参数说明及性能优化建议

    [mysqld] port = 3306 serverid = 1 socket = /tmp/mysql.sock skip-name-resolve #禁止MySQL对外部连接进行DNS解析,使用 ...

  2. BI服务器配置与客户端情况

    1. BI描述 FineBI是一款纯B/S端的商业智能分析服务平台:支持通过web应用服务器将其部署在服务器上,提供企业云服务器.用户端只需要使用一个浏览器即可进行服务平台的访问和使用.因此在配置使用 ...

  3. ES6中的迭代器(Iterator)和生成器(Generator)

    前面的话 用循环语句迭代数据时,必须要初始化一个变量来记录每一次迭代在数据集合中的位置,而在许多编程语言中,已经开始通过程序化的方式用迭代器对象返回迭代过程中集合的每一个元素 迭代器的使用可以极大地简 ...

  4. OpenCV探索之路(二十一)如何生成能在无opencv环境下运行的exe

    我们经常遇到这样的需求:我们在VS写好的程序,需要在一个没有装opencv甚至没有装vs的电脑下运行,跑出效果.比如,你在你的电脑用opencv+vs2015写出一个程序,然后老师叫你把程序发给他,他 ...

  5. JavaSE中线程与并行API框架学习笔记——线程为什么会不安全?

    前言:休整一个多月之后,终于开始投简历了.这段时间休息了一阵子,又病了几天,真正用来复习准备的时间其实并不多.说实话,心里不是非常有底气. 这可能是学生时代遗留的思维惯性--总想着做好万全准备才去做事 ...

  6. 基于NFS实现WordPress

    实验内容: (1)主机IP nfs server IP :192.168.29.120 nfs server IP: 192.168.29.110 (2)要求 nfs server共享/data/we ...

  7. 拓扑排序下的有无环判定 STL方法

    bool canFinish(int numCourses, vector<pair<int, int>>& prerequisites) { vector<se ...

  8. 快慢指针实现不依赖计数器寻找中位数(linked list)

    该方法在不借助计数器变量实现寻找中位数的功能.原理是:快指针的移动速度是慢指针移动速度的2倍,因此当快指针到达链表尾时,慢指针到达中点.程序还要考虑链表结点个数的奇偶数因素,当快指针移动x次后到达表尾 ...

  9. mysql常用sql命令

    一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u roo ...

  10. openstack中dashboard页面RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.

    环境是centos7,直接跑在服务器上. 按照官网一步步安装openstack,到验证dashborad时出错. 登录http://192.168.1.73/dashboard ,输入域名,用户名,密 ...