java基础知识点
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java基础知识点,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7854字,纯文字阅读大概需要12分钟。
内容图文
![java基础知识点](/upload/InfoBanner/zyjiaocheng/626/dfc4dc10680a45dfb2492cca6530cc86.jpg)
- 变量名命名:不以数字开头,驼峰命名:单词开头小写,后续单词首字母大写
- 全局变量可以自动初始化,局部变量使用前必须自己初始化。
- 运算符、转型、结构语法,
- 类
- 类:成员变量、成员方法。
- 修饰符:
- 重载overload:方法名相同,参数(个数,顺序,类型)不同,返回值随意,编译期绑定。
- 重写override:子类的返回类型(相同或者是父类返回值类型的子类)、方法名、参数都相同,访问权限只大不小。运行期绑定。
- 构造方法:用于初始化对象。程序会给没有构造方法的类构造一个默认无参的构造方法,如果类定义了构造方法,就不会有默认的构造方法。
- 构造器 Constructor 不能被继承,
- this: 代表本类的一个对象,在非静态方法中会传入一个this引用进去,this.name this.method() 构造方法也可以用this引用本类的另一个构造方法。在构造方法第一句使用
- 继承(单继承)
- extends:父类的变量和方法,但是继承父类private的成员变量和方法是不可见的,不能在子类中使用,因为private的成员只能在本类中可见。
- super:父类的对象
- 子类的构造方法中会先调用父类的构造方法,子类的构造方法中第一行用super(。。)调用父类的构造方法。没写默认调用父类无参构造方法
- 子类不是继承但有和父类相同的变量或方法,这是隐藏父类的成员导致的。是子类自己的。
- static
- static方法没有隐士this 实例方法有this参数,所以static方法不能直接使用非static成员,也不能使用this、super关键字,用类名.成员使用。
- static{}块 在类的加载的时候初始化,static块为属于类的代码块,在类加载期间执行的代码块,可以有多个块,只执行一次,可以用来在软件中加载静态资源(图像、音频等等)。
- static方法不能被重写,jvm认定了static是属于类的,子类再写相同的方法名那是隐藏而已。
- 实例方法可以访问类变量,static可以通过对象调用,一般是直接类名.属性
- final
- 修饰成员变量:声明同时初始化或者构造方法中初始化,初始化一次,不可更改。
- 修饰局部变量:使用之前初始化就可。
- 修饰的引用变量:只是表示变量指向的地址不会变,但引用对象的内部数据可变的。
- final引用指向对象,表示这个引用只能指向这个对象, 但是这个对象本身内部数据是可以更改的。要使其变成不可更改,使用static final
- 修饰方法:不能被重写
- 修饰类:不能被继承,
- static final 修饰的成员变量称为常量,必须声明同时初始化,并且不可被改变。大写(编译期间执行)
- volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
- 抽象类
- Abstract class类名{}方法中的方法是abstract方法:abstract 返回值 方法名();
- 抽象类不能实例化,需要被子类继承,可以用构造方法,只是不能实例化,可以在子类调用super()
- 抽象方法是修饰不能是private,也不能是final
- 定义抽象类的意义在于:
- 接口(要实现接口但是只用一次的使用匿名内部类)
- 形式:Interface 类名{} 不能被实例化,没有构造函数,没有静态代码块,可以声明变量
- 接口里面的变量都是public static final (可以省略),方法都是 public abstract的抽象方法(可以省略)
- 类实现多个接口:a implements 接口1,接口2;实现接口里面的所有方法。并且子类里面的方法必须是public
- 接口可以继承多个接口,a extends b,c
- 一个类先继承再实现
- jdk8接口中新增的默认方法和静态方法
- 多态(Person p = new Son();)
- 父类的引用指向子类的对象(方法指的是父类拥有的方法,具体看子类的实现,不包括子类自定义拥有的方法,只能看到继承父类的那些方法,有重写的方法执行的是子类重写的方法。)
- 多态实现的条件:
- 继承或者实现
- 重写方法
- 向上造型
- 向上造型
- 父类(或接口)的引用指向子类对象Son son = new Son();Fateher f = son或Fateher f =new Son();
- 向下转型(强转)
- instanceof用法:if(f instanceof Son) son=(Son)f;
- 还可以通过强制转换将父类型变量转换为子类型变量,前提是该变量指向的对象确实是该子类类型(父子)。也可通过强制转换将变量转换为某种接口类型,前提是该变量指向的对象确实实现了该接口(接口-实现类)。如果在强制转换过程中出现违背上述两个前提,将会抛出ClassCastException
- 内部类 在非静态内部类中不可以声明静态成员
- 成员内部类
- 作为外部类的成员存在,是一个独立的类,再编译之后内部类会被编译成 外部类$内部类.class
- 内部类有一个隐士this指向外部类,所以内部类可以访问外部类的所有包括私有的变量和方法,外部类访问内部类需要先实例化内部类
- 再外部类里面或者外部类的非静态方法中可以直接实例化内部类,在其他类或者静态方法中需要先实例化外部类,如 Outer.Inter inter = new Outer() .new Inter();
- 静态对象-非静态对象-构造器 其中静态对象包括:静态块,静态方法,静态属性
- 对于继承父类的对象的初始化顺序:父类静态对象-子类静态对象-父类构造方法-子类构造方法 说明:在静态对象中初始话顺序实际上是按照声明的顺序执行的。
- 局部内部类
- 在方法体、构造方法中的内部类
- 只能在方法体中实例化,该类的方法形参必须用final修饰。
- 内部类可以使用外部类的所有成员变量和方法
- 静态内部类(成员内部类加上static就是这)
- 没有外部类的引用传进来,其他都一样
- 可以定义成public、protected、默认的、private等多种类型
- Outer.Inter 引用名=new Outer.Inter();
- 不能访问外部类的非静态成员,可以直接引用外部类的static的成员变量,不需要加上外部类的名字。
- 匿名内部类
- 匿名内部类能继承一个类或者实现一个接口(二者取其一),其实现过程一样的是先继承或者实现接口或类,然后用向上转型,把实例对象赋值给接口或者父类。
内容总结
以上是互联网集市为您收集整理的java基础知识点全部内容,希望文章能够帮你解决java基础知识点所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。