JAVA小白从0入门
DAY2
基本概念
类
1.类是一群具有相同属性(变量)和行为(方法)事物的统称(抽象存在)
2.类的组成=成员变量+方法
3.类的定义
class teacher
{
//成员变量
//成员方法
}
4.实例变量与局部变量的区别:
声明的位置不同:实例变量在类中方法外,局部变量在方法内或代码块内
数据的存储位置不同:实例变量在堆中,局部变量在栈中
初始值的获得不同:实例变量有默认值,局部变量必须手动初始化
作用域:实例变量(本类中直接访问,其他类通过对象访问),局部变量从声明处开始,到所属的}就结束
修饰符:实例变量可以多种修饰符,局部变量最多只能使用final
5.方法重载:在同一个类中,出现的多个方法名称相同,参数列表不同的情形称为方法重载
注:与返回值类型无关,与方法的修饰符列表无关
对象
1.是实际存在的该类事物的每个个体,因而也称实例(具体存在)
2.类与对象的关系 :
类是对一类事物的描述,是抽象的。
对象是一类事物的实例,是具体的。
类是对象的模板,对象是类的实体。
3 .import语句:用于确定需要引入的类的位置,使得在代码中使用其他包的类可以使用简写名,不用全名称。
4.package:用于确定当前源文件中的类的位置。写在.java源文件可执行代码的首行
特性
封装
1.将对象的属性和行为封装起来,其载体就是类。把该隐藏的隐藏起来,该暴露的暴露出来.所以封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。
2.封装的好处:安全、简单、将变化隔离、重用
3.this关键字:this是一个引用,this是一个变量,this变量中保存了内存地址指向自身,this存储在JVM堆内存,java对象内部
3.1 this可以出现在实例方法当中,this指向正在执行动作的对象。this代表当前对象。
3.2 this做多数情况下可以省略不写。
3.3 this不能使用在带有static的方法当中。
4.包
4.1包的作用:
4.1.1避免类的重名
4.1.2用于控制访问权限
4.1.3用于划分项目的结构层次,通常将功能相近的类划分到同一个包中
4.2JDK中主要的包介绍:
4.2. 1. java.lang----包含一些Java语言的核心类,如String、Math、Integer,System和Thread,提供常用功能。
4.2.2. java.net----包含执行与网络相关的操作的类和接口。
4.2.3. java.io ----包含能提供多种输入/输出功能的类。
4.2.4. java.util----包含一些实用工具类,如定义系统特性、接口的集合框架类、使用与日期日历相关的函数。
4.2.5. java.text----包含了一些java格式化相关的类
4.2.6. java.sql----包含了java进行JDBC数据库编程的相关类/接口
4.2.7. java.awt----包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。
4.2.8. java.applet----包含applet运行所需的一些类。
继承
1.继承是描述两个类之间的关系,类A继承了类B,那么类A会自动拥有类B中非私有的成员,这个过程就是继承。类A称为子类、类B称为父类
2.格式:
class 父类 {
}
class 子类 extends 父类 {
}
3.父子类的继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式:
3.1.1直接通过子类对象访问成员变量:等号左边是谁,就优先用谁,没有则向上找。
3.1.2间接通过成员方法访问成员变量:该方法属于谁,就优先用谁,没有则向上找。
3.2当出现三种情况时的调用关系:
局部变量: 直接写成员变量名
本类的成员变量: this.成员变量名
父类的成员变量: super.成员变量名
注:无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类的
4.重写:当父类中的方法对于子类来说不适用的时,子类可以对父类中的方法进行重写
4.1 方法名:必须完全一致
形参列表:必须完全一致
返回值类型:如果是基本数据类型和void,必须完全一致。如果是引用数据类型,必须是<=,即重写的方法的返回值类型<=被重写方法的返回值类型,Student<Person
修饰符:重写的方法的修饰符范围>=被重写方法的修饰符范围(public>protected>缺省>private)
注:重写的方法不能是static的,final的,子类不可见的
5.super关键字用法:
super.属性:
如果子类有与父类同名的属性时,可以用super.属性明确表示是父类的属性。
super.方法:
如果子类重写了父类的方法时,可以用super.方法明确调用父类被重写的方法
super()或super(实参列表):
super()显式调用父类的无参构造
super(实参列表)显示调用父类的有参构造
多态
1.若编译时类型和运行时类型不一致,就出现多态
1.1编译时,“看左边”,看的是父类的引用(父类中不具备子类特有的方法)
1.2运行时,“看右边”,看的是子类的对象(实际运行的是子类重写父类的方法)
2.向上转型与向下转型:
2.1 向上转型upcasting:子类转父类 系统自动完成
2.2 向下转型downcasting:父类转子类 需要使用强制类型转换符()
对象的关联关系:依赖,关联,聚合,组合,继承
本文地址:https://blog.csdn.net/qq_49163279/article/details/107347478
推荐阅读
-
JAVA小白从0入门
-
head first java怎么样(java从入门到精通)
-
java从入门到精通哪个版本好(免费的编程自学网站)
-
从0开始了解Docker入门(小结)
-
java从入门到精通哪个版本好(免费的编程自学网站)
-
head first java怎么样(java从入门到精通)
-
《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》
-
小白学 Python 爬虫:自动化测试框架 Selenium 从入门到实战
-
JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
-
JAVA WEB快速入门之从编写一个基于SpringMVC框架的网站了解Maven、SpringMVC、SpringJDBC