1,面向对象,万物皆对象,面向对象的三个基本特性:封 装,继承,多态。
面向对象的程序都是由类组成,类封装了对象的属性和行为。
封装:隐藏对象的属性和实现细节,仅对外提供接口。
继承:实现代码复用,将相同部分抽取出来放到一个父类中。
几种访问权限
private , 不能修饰类,同一类可见。默认,同一类,同一包。protected 不能修饰类和接口,同一类,同一包,子类。public,所有类。
static 修饰符,用来修饰类方法和类变量。
final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract 修饰符,用来创建抽象类和抽象方法。
多态:
2,局部变量只在声明它的方法、构造方法或者语句块中可见;局部变量是在栈上的
静态变量除了被声明为常量外很少使用;静态变量储存在静态存储区。静态变量在程序开始时创建,在程序结束时销毁。
3,a instanceof Car
.()=.()= .()= String site = "www.runoob.com"; int len = site.length();
string1.concat(string2);
StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。
append(String s)
delete(int start, int end) replace(int start, int end, String str)
charAt(int index)compareTo(Object o)concat(String str)equals(Object anObject)hashCode()startsWith(String prefix)trim()
6, double[] myList = {1.9, 2.9, 3.4, 3.5}; // 打印所有数组元素 for (int i = 0; i < myList.length; i++) { System.out.println(myList[i] + " "); }
7,import java.util.Date;
Date date = new Date();
// 使用 toString() 函数显示日期时间 System.out.println(date.toString());
8,在 finalize() 方法里,你必须指定在对象销毁时候要执行的操作。
9,我们可以通过 Scanner 类来获取用户的输入
Scanner s = new Scanner(System.in);
10,:IOException 类和 RuntimeException 类
NullPointerException IndexOutOfBoundsException
11,extends关键字
在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)
super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
this关键字:指向自己的引用。
final关键字
final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写:
12,Java 重写(Override)
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
Animal a = new Animal(); // Animal 对象 Animal b = new Dog(); // Dog 对象
b.move();//执行 Dog 类的方法
重载(Overload)
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
13,多态就是同一种事物的不同形态。
打印机--黑白打印机--彩色打印机
多态的优点,解耦,可扩展,灵活。
多态存在的三个必要条件,继承,重写,父类指向子类引用。 p ();
当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。
abstract class Animal { abstract void eat(); } class Cat extends Animal { public void eat() { System.out.println("吃鱼"); } public void work() { System.out.println("抓老鼠"); } }
Animal a = new Cat(); // 向上转型 a.eat();
interface Animal { public void eat(); public void travel(); }
public class MammalInt implements Animal{ public void eat(){ System.out.println("Mammal eats"); } public void travel(){ System.out.println("Mammal travels"); } public int noOfLegs(){ return 0; } public static void main(String args[]){ MammalInt m = new MammalInt(); m.eat(); m.travel(); } }
14,抽象类不能实例化,抽象类可没抽象方法,有抽象方法必须是抽象类
15,封装,将属性私有化,然后提供公共方法。
16,反射
17,栈,先进后出
Stack<Integer> st = new Stack<Integer>();
st.push(new Integer(a));
st.pop()
import java.util.*;
- Java基础常见英语词汇
Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的 ['prəʊɡræmɪŋ]编程 OO: object ...
- Java英文单词Java基础常见英语词汇
Java英文单词Java基础常见英语词汇(共70个) ...
- Java 基础常见知识点&面试题总结(中),2022 最新版!| JavaGuide
你好,我是 Guide.秋招即将到来,我对 JavaGuide 的内容进行了重构完善,公众号同步一下最新更新,希望能够帮助你. 上篇:Java 基础常见知识点&面试题总结(上),2022 最新 ...
- Java 基础常见知识点&面试题总结(下),2022 最新版!
你好,我是 Guide.秋招即将到来,我对 JavaGuide 的内容进行了重构完善,同步一下最新更新,希望能够帮助你. 前两篇: Java 基础常见知识点&面试题总结(上),2022 最新版 ...
- 基础语法-选择结构switch
基础语法-选择结构switch 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Switch语句特点 switch语句选择的类型在jdk1.6只支持四种:byte,short,i ...
- Java核心基础第2篇-Java基本语法
Java基本语法 本章一起来探讨下Java的基本语法.主要从以下几个方面展开: Java关键字 Java标识符 Java变量 Java数据类型 Java运算符 学完本章内容之后,我们对Java会有更深 ...
- JAVA遇见HTML——JSP篇:JSP基础语法
动态网页和静态网页的区别: 静态网页 表现形式:网页中的内容是固定,不会更新. 所需技术:HTML,CSS 动态网页 表现形式:网页中的内容通过程序动态显示的,自动更新. 所需技术:HTML,CSS, ...
- PHP. 01. C/S架构、B/S架构、服务器类型、服务器软件、HTTP协议/服务器、数据库、服务器web开发、PHP简介/常见语法、PHPheader()、 PHP_POST/GET数据获取和错误处理
C/S架构 Client/Server 指客户端,服务器 架构的意思 优点:性能性高:可将一部分的计算工作放在客户端上,服务器只需处理出局即可 洁面炫酷,可使用更多系统提供的效果 缺点:更新软件需 ...
- 从一知半解到揭晓Java高级语法—泛型
目录 前言 探讨 泛型解决了什么问题? 扩展 引入泛型 什么是泛型? 泛型类 泛型接口 泛型方法 类型擦除 擦除的问题 边界 通配符 上界通配符 下界通配符 通配符和向上转型 泛型约束 实践总结 泛型 ...
随机推荐
- 17.2-uC/OS-III消息管理(任务消息队列)
1.任务的消息队列 uC/OS-III在任务中内建了一个消息队列.用户可以直接发送消息给任务而不通过外部消息队列. 这个特性不仅简化了代码, 还提供了效率.每个任务都内建一个消息队列. uC/OS-I ...
- 认识拨号计划-dialplan
拨号计划是 FreeSWITCH 中至关重要的一部分.它的主要作用就是对电话进行路由(从这一点上来说,相当于一个路由表).说的简明一点,就是当一个用户拨号时,对用户所拨的号码进行分析,进而决定下一步该 ...
- 131A
#include <stdio.h> #include <string.h> #include <stdbool.h> #define MAXSIZE 105 in ...
- Android签名文件转化为pk8和pem来对apk重签名
当我们需要修改已经打包好的apk中的某个文件时,比如改下图标,我们势必要采用反编译apk,改文件,重编译apk,重签名才行,参考:https://www.cnblogs.com/zndxall/p/9 ...
- 使用git将项目上传到github(最简单方法)
首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可: https://gi ...
- #WEB安全基础 : HTTP协议 | 0x3 TCP三次握手和DNS服务
TCP三次握手精准无误地把数据送达目标处,TCP协议把数据包送出去后,向对方确认是否成功发送,握手过程中使用了TCP的标志(flag)——SYN和ACK 请看图 若握手中断,TCP协议再次从同样顺序发 ...
- Java-番外篇-Java通过代码发给手机发信息
一.代码 import java.io.IOException; import org.apache.commons.httpclient.Header; import org.apache.comm ...
- 游戏服务器之Java热更新
对于运行良好的游戏来说,停服一分就会损失很多收益.因为有些小bug就停服就划不来了.在使用Java开游戏服务器时,JVM给我们提供了一些接口,可以简单做一些热更新.修复一些小Bug而不用重启服务. J ...
- py-faster-rcnn代码
1. 对proposal层NMS的解释,很清晰 注意第18~20行是拿一个数(x1)和array(x1[ [0,2,3] ])去比:
- winform中的dateTimePicker控件设置默认值为空
winform中的dateTimePicker控件设置默认值为空 第一步:设置Format的属性值为“Custom” 第二步:设置CustomFormat的属性值为空,需要按一个空格键