面向对象
类和对象
java实现跨平台是因为它编译为字节码之后,可以在Java虚拟机上运行,通过Java虚拟机可以编译为其他想要的编程语言,非常方便。
类:抽象出来的行为(方法) 和 特征(属性)的模板;
对象是什么:该类的具体实现,对象,看得见摸得着
类名的首字母大写,见文知意 属性名首字母小写 人: 名字 年龄 身高 性别
封装
封装的概述
-
是指隐藏对象的属性和方法的细节,仅对外提供公共的访问方式
封装的好处
-
隐藏实现细节,提供对外的公共的访问方式
-
提高了代码的复用性
-
提高了安全性
封装的原则
-
将不需要对外提供的内容都隐藏起来
-
把属性隐藏,提供公共方法对其访问
private关键字概述和特点
特点
-
一个权限修饰符,本类中可用
-
修饰成员变量和成员方法(可以)
-
针对整个类,在方法中使用没有意义
this关键字
特点
-
代表当前对象的引用
简单讲解
-
this应用场景:目前而言代表当前类,用来区分成员变量和局部变量
封装表现
属性私有化,公开get、set方法
方法组成
访问权限 返回值类型 方法名(参数列表)
构造方法(构造器)
作用:为属性赋初始值;
特征:
-
1方法名与类名一致
-
2没有返回类型
-
3当一个类没有任何构造方法时,则系统默认给一个无参的构造方法
-
4当一个类中有带参的构造方法,则系统默认的无参构造方法失效,想再使用,需要显式声明
static静态关键字
特点
-
随着类的加载而加载
-
静态优先于对象
-
被类的所有对象共享
-
可以用类名直接调用,也可以用对象调用
-
静态修饰的内容我们一般称之为与类相关的,类成员
成员变量和静态变量的区别
1、所属不同
-
静态变量属于类,称为类变量
-
成员变量属于对象,可以称为对象变量
2、存储位置不同
-
静态变量存储于方法区的静态区
-
成员变量存储在堆内存中
3、内存出现的时间不同
-
静态随着类的加载而加载
-
成员变量随着对象的对象的创建而存在
4、调用不同
-
静态可以可以被类名和对象调用
-
成员变量只能通过对象调用
mian方法和格式
1、格式
public static void main(String[] args){
}
2、格式解释
-
public 被jvm调用,访问权限足够大
-
static 被jvm调用,不用创建对象,直接类名访问比较快
-
void 被jvm调用,不需要给jvm返回值
-
mian 一个通用名称,虽然不是关键字,但是被jvm识别
-
String[] args
get/set方法
-
set没有返回值
-
get有返回值
-
要有测试类
面向对象之构造方法概述与格式
概述和作用
-
给对象的属性值进行初始化赋值、
特点
-
1方法名与类名一致
-
2没有返回类型
-
3当一个类没有任何构造方法时,则系统默认给一个无参的构造方法
-
4当一个类中有带参的构造方法,则系统默认的无参构造方法失效,想再使用,需要重新声明
全局变量和局部变量的区别
全局变量
成员变量:全局变量==》在这个类中谁都可以用
位置:类中 方法外
生命周期:随着类的加载而加载,随着类的消失而消失·
存储位置:在堆中
初始值:可以不赋值 因为本身就有初始值
局部变量:
位置:在方法中 在方法上
生命周期:随着方法的加载而加载,随着方法的消失而消失
存储位置:在栈中
初始值:没有初始值,如果要使用必须给初始值
局部变量需要使用必须赋值才能使用。
当全局变量和局部变量相同的时候(全局和局部变量可以相同),有一个优先级关系:就近原则。
面向对象--匿名对象概述和使用
1、什么是匿名对象
大白话说:就是没有名字的对象
2、匿名对象的应用场景
-
调用方法的时候,仅仅只能调用一次,好处:节省代码调用多次的时候,千万别用调用完就变成垃圾了,可以被垃圾回收
//例如
new Student.run();
匿名对象可以作为参数对象
//例如
public void a1(Student s){
}
创建对象的步骤逻辑
b/s 和c/s
b /s:浏览器服务器
c/s :客户端服务器
第一章
Java简介
查看JDK是否配置成功
cmd ->javac:出现一堆东西即配置成功 1.首先查看系统是否安装有jdk,打开cmd在DOS窗口输入 java -version查看jdk版本信息 2.你也可以输入 java -verbose查看jdk安装路径: 3.查看是否配置JAVA_HOME环境变量,输入 set JAVA_HOME,若已经配置,会出现配置路径 4.配置JAVA_HOME环境变量,输入set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_102,回车,然后,输入set JAVA_HOME查看
在cmd下运行Java源文件
-
首先进入相应的盘
-
然后相应的源文件路径
-
编译源文件:javac 源文件名
-
运行编译后的字符码文件:java 编译后字节码的源文件名,此处不用写后缀
-
提取文档:javadoc 源文件名
第二章
8种数据类型
数据类型 | 所占的字节(byte) {1 byte = 8 bit} |
---|---|
整型 byte | 1 范围: {-2的7次方~2的7次方} |
整型 short | 2 范围: {-2的15次方~2的15次方} |
整型 int | 4 |
整型 long | 8 特殊符号: 整型默认是int型所以要在数后加"L" |
浮点型 float | 4 特殊符号: 浮点型默认是double型所以要在数后加"F" |
浮点型 double | 8 |
字符型 char | 2 |
布尔型 boolean | 1,4,1/8 |
数据类型之间的优先级
很清楚啦,byte、short、char是一个级别的,它们之间的运算都会转换为int类型,注意,自己跟自己运算也会转为int类型。int之后从小到大依次为:long、float、double。至于boolean,他是个比较特殊的类型。
String不是基本数据类型,是引用类型;变量是存储数据的基本单元
变量名规则
-
变量名前面不能是数字
-
变量名前面可以是字母、下划线、$,其他符号不行
-
变量明前面单词字母要小写后面单词首字母大写(标准写法)
-
变量名后面数字也可以添加了,除了¥后面不能跟其他符号
-
中间不可以有空格
-
变量名不能是关键字
-
变量得先赋值才能用
-
避免第二个字母大写(细节)
&& 与 &的区别
-
&& 条件1 && 条件2:条件1为假,条件2就不执行了(比&效率高)<