JAVA基础知识整理--基础篇

Java的核心是面向对象编程,类是java面向对象程序设计的基础

面向对象阶段的关键字:

       :实际上就是一个新的数据类型

如果要new对象,并且要点出方法来,必须要在main()方法里面new

类修饰符及含义:

修饰符

含义

Public

定义一个公共类,任何类都可以访问

Abstract

定义一个抽象类,该类不能被实例化

Final

定义一个最终类,该类不能有任何子类

Defallt(缺省)

只能被同包中的类访问,

 

       成员方法:某个普通类中的方法

成员方法修饰符及含义:

修饰符

含义

Public

可以在任何类中访问它

Protected

本类、子类、同包类

Default(缺省)

本类,同包类

Private

本类

Static

静态成员方法(类方法)

Final

定义一个最终方法,其功能不能再更改

Abstract

定义一个无方法体的抽象方法

 

       成员变量:某个普通类中的变量

成员变量修饰符及含义:

修饰符

含义

Public

本类、子类、同包类、跨包

Protected

本类、子类、同包类

Default(缺省)

本类、同包类

Private

本类

Static

静态成员变量,为该类所有对象共享

Final

必须在创建它的同时赋初值且不能修改

       局部变量:普通类中的成员方法的里面定义的变量,局部变量随着成员方法的执行、结束而执行、销毁。

       this关键字:this关键字被隐式地用于引用对象的成员变量和方法;this除了可以调用成员变量和成员方法之外,还可以作为方法的返回值。如:

      

JAVA基础知识整理--基础篇_第1张图片

JAVA基础知识整理--基础篇_第2张图片

JAVA基础知识整理--基础篇_第3张图片

这里在main方法里面不能直接输出s,因为s不是静态的,而main方法是静态的,静态方法只能调用静态的东西

Super

 

       This关键字可以在无参构造方法中使用this关键字调用有参的构造方法,但是使用这种方式只可以在无参构造方法中的第一句使用this调用有参构造方法。

JAVA基础知识整理--基础篇_第4张图片

       静态变量:使用static修饰的成员变量称为类变量或成员变量,它保存在该类所占内存区的静态公共存储单元中,是该类的公共数据,为该类所有对象共享,而不属于某个特定对象,因此该类的任何一个对象都可以访问和修改静态变量的值;静态变量与实例变量的区别在于,每次创建类和新对象时,系统就会为该对象创建实例变量的副本,即该对象每个实例变量都有自己的存储空间,并可以通过对象名访问这些实例变量,而静态变量只在第一次调用类的时候系统为它分配一次内存,不管该类创建多少新对象,所有对象都共享静态变量的值。

       静态内容可以在本类或其他类中使用类名“ . 运算符调用静态成员。         

虽然静态成员也可以使用“对象 . 静态成员”的形式调用,但这样的形式通常不被鼓励使用,因为这样容易混淆静态成员和非静态成员。

静态成员方法: 类中的非静态成员方法可以访问静态成员,但静态成员方法只能访问类中的静态变量和其他静态方法。(粗解:静态东西的就是为了让其他类共享这个数据)

静态变量、常量和方法:由static修饰的变量、常量和方法被称作静态变量和方法。

       常量:static final 修饰

       重载:构造方法也有重载,其过程与普通方法一样,构造方法的重载目的是完成不同情况下对象的初始化

java中的重载与返回值无关的解释

JAVA基础知识整理--基础篇_第5张图片

       抽象类:不能实例化对象,多态机制中,父类通常被定义为抽象类,比抽象类更方便的是接口。抽象类没有具体对象,定义抽象类的目的是将相关的类组织在一起,提供一个公共的基类  ,并让其他类来继承它

       抽象类中可以没有抽象方法,但是含有抽象方法的类必须是抽象类

JAVA基础知识整理--基础篇_第6张图片

       抽象方法:用abstract修饰的方法是抽象方法,抽象方法只有方法的声明部分,没有方法体的实现部分。声明抽象方法格式

       Abstract void play();

abstract 关键字,和哪些关键字不能共存。
1,final:被final修饰的类不能有子类。而被abstract修饰的类一定是一个父类。,

2,private: 抽象类中的私有的抽象方法,不被子类所知,就无法被复写。
        而抽象方法出现的就是需要被复写。
3,static:如果static可以修饰抽象方法,那么连对象都省了,直接类名调用就可以了。
        可是抽象方法运行没意义。

 JAVA基础知识整理--基础篇_第7张图片

       接口:由抽象方法组成的集合

       实例:类是对象的模板,对象是类的实例

       构造方法:1,构造方法没有返回值,2,构造方法的名称与本类名称相同。3,构造方法也有重载!

如果类中没有明确定义构造方法,则编译器会自动创建一个不带参数的默认构造方法。如有定义,则不再有默认提供无参构造。

       构造方法不能被继承,一般是new对象来使用。

       构造方法不用void修饰,因为它本身就没有返回值!

构造方法的重载,其过程与普通方法一样,构造方法的重载目的是完成不同情况下对象的初始化

 

 

构造方法修饰词

含义

Public

全局

Protected

本类子类同包类

Private

本类

Default

本类,同包类

      

递归:  递归要带入进去,从最核心的地方向外扒拉,算出最里面的一层结果之后,将结果代入到上面一层,依次类推,得到结果

JAVA基础知识整理--基础篇_第8张图片

面向对象三大特性:封装、继承、多态

封装就是抽取相同的属性(变量)和行为(方法),封装成类(打包)

继承就是获得一个父类的部分属性或行为,这个父类也可以是其他类的父类(代码重用)

多态:依赖于抽象类和接口

牵一发而动全身的功能就让它们继承一个父类,将会发生改变的东西放到父类中,这样也算是达到了利用缺点变优点

0, 什么是面向对象?

1, 类和对象

a)    类是对象的模板

b)    对象时类的实例(实例化)

 

 

个人总结:

       学习是一个不断加深不断扩展,不断挖掘的过程,基础是很关键的部分,所谓基础不牢地动山摇,就是这个道理,就像盖房子一样,上面的东西随便怎么盖,下面的东西是基本不会动的,底层的东西是经过层层筛选留到最后的,所以不会轻易去改变,因为改变的代价太大了,牵一发而动全身。上层的东西再怎么花哨都是从底层的基础做上去的,就算你会用框架,你也仅仅是会用,拿来主义,出个你不会的异常绝对够你喝一壶的,因为你只是代码的搬运工,照抄过来的东西是个人就会,那不叫技术,而我是想做一辈子编程的,我需要的是基础扎实,底层过人,你拿个框架来我能给你研究透,你说你用不用我?????

       我的目标是坚定不移的,你一时兴起学一阵子,可我是打定主意干一辈子,孰重孰轻一目了然!

       只要你肯做,只要你坚持,一辈子很长,你绝对可以成功!!!

       行动是绝对的执行力!!!让自己动起来!

 

 

 

 

 

 

 

截图命令:snippingtool

画图命令:mspaint

 

 

你可能感兴趣的:(基础)