Java基础(一)(如果你一点基础都没有,这里让你了解一些概念,希望可以帮助你理解)

学习java有什么好处?

那先说说我为什么学java ,学习jsva是一种偶然的结果,接触过后确实喜欢 ,

1. java有什么优点 纯纯的面向对象的语言 ,

什么是面向对象->

先说说之前,在面向对象之前是编程是面向过程的,什么是面向过程,举一个简单的例子

1+2=3 我们可以将其解析成1+1+1=3 把2拆分的就是面向过程,随着时代发展,发现面向过程越来越复杂,于是有了面向对象。

对象也是一个抽象的概念,我们像上帝一样赋予我们创建对象属性,像凳子一样,我们赋予其长宽高,能坐的属性,其实不管合理不合理你都能赋予其功能)(就像凳子能飞,本身不合理,但是你可以将它扔飞,因此他有了会飞的属性),也就因此有了一句万物皆可对象的话,你可以将万物赋予给对象。

而java就是面向对象,为什么叫做面向对象,其中面向是什么,

举一个例子来解释面向过程和面向对象。

比如我们想做蛋炒饭

面向过程->我们需要自己准备,鸡蛋,米饭,混合,炒菜,装盘。

面向过程,就像->妈 ,我饿了,我要吃蛋炒饭。(挨打不怪我!)

你亲爱的老妈就是你面向的对象,老妈来处理你的所需,根据你提出的需求来处理不同的食材。

OOP面向对象三大特性

封装:也就是将凳子的属性封装起来,一眼看去你不知他的长宽高,重量(你能看出来,只能说你牛逼,我服了),而我们可以调用方法(通过用尺子去量,秤来称量),你可以得到数据,但是得按我我的方法来获取数据,体现了一部分安全性。(这里提一嘴反射(反射就象你一眼看出来数据,无他,你熟悉了他的本质,java提供了反射的方法))

继承:一个对象继承另一个对象,就像儿子继承父亲的东西,这有什么特点呢,需要理解的,就是爸爸给你你才能拥有,爸爸不给你,你想继承也得不到。儿子通过自己的发展可以拥有自己的东西,当然,他还可以选择性的将东西继承给孙子。

这时后有个问题,儿子想要的太多了,爸爸给不了太多,儿子只能有一个亲生的爸爸是吧。

哎嗨亲生爸爸?我给儿子找点干爹撑撑场面,合理吧!

接口,也就是干爹,接口也有爸爸是吧,他也可以被继承,去继承接口,但只能继承一个,干爹可以有多个干儿子,干儿子可以有多个干爹。

什么是接口呢?那不得不说一下抽象类!->

抽象类,就是把一类相似的东西,抽象的抽取出来,就像鸟儿和昆虫都会飞,都是挥动翅膀,那我说狗子也会飞,你说我开玩笑!那我给你唠唠

接口就是让狗子抽象的飞行,狗子不会飞,但是我让狗子坐飞机,飞机的飞和鸟儿的飞是不一样的,抽象类的定义,抽取出来,他们都会飞,怎么飞我就不管了。

多态:狗子,飞机都会飞了,我不能老是抽象的概念吧,我得让他具体一点,所以我把他指明是什么,这就是多态的一种体现。泛型的一种应用

抽象使复杂的事情简单化

从亲手操作到妈妈操作

嗯,很符合我的习惯!妈妈来个蛋炒饭!

public staic void main(String[] args) {}

啊,我的java的开始就是他,最最基础的helloworld ,通过这个方法我接触到了Java的世界,他就是一把钥匙

这个方法有什么用,它就相当于门上的钥匙,通过这个你能进入Java的内层世界,Java程序的入口。

来到这里,我们想通过java程序来输出 “hello world”

可以简单的在public staic void main(String[] args) {

        system out println("hello,world");

},

你可能有疑问,这我手打也可以啊?但是呢,你打一千遍不累吗?

不说这个了!没什么用

如何实现在main之前执行操作,用静态代码块,不管静态代码块所在位置,我在类加载的时候就执行了

Java初始化的顺序是什么?

(方法:就是得到结果定义的过程。构造方法就是创建人的方法,也叫构造函数方法有参数,参数就是 成员属性,通过属性来确定形状,Java有个女娲,就是Object,他是所有类的父类,女娲从何而来,可能就像我们创建了她一样。)

在实例化创建对象之时首先要进行初始化,将属性归零,初始化完成惠普,才会调用构造方法创建对象。

Java程序的初始化过程一般遵循3个原则

        静态的优先于非静态的初始化,因为静态的只初始化一次,在类加载的时候进行初始化,而非静态的可以初始化多次。(静态的叫做固定属性,比如三角形两条线的和大于第三边,非静态的可以理解为不固定的属性类似凳子的长宽高)

        父亲优于子类先进行初始化,得先有爸爸才能有儿子(孙猴子不算,按道理人家的父亲是老天,天生地养)。

        按照成员变量的顺序进行初始化(无规矩不成方圆,一步一步来,要不可能会乱)

所以 顺序就是: 父类的静态变量-》父类的静态代码块-》子类的静态变量-》子类的静态代码块-》父类的非静态变量-》父类的非静态代码块-》父类的构造方法-》子类的非静态变量-》子类的非静态代码块-》子类的构造方法。

public staic void main(String[] args) 中 public

他表示这个方法的作用域,英文,公共的,表示大家都可以来访问这个方法,在别的类都可以访问到。

作用域当前类同一package子类其他package
publicyesyesyesyes
protectedyesyesyes

no

friendly(default)yesyesnono
privateyesnonono

Java一个文件中可以有多个class类但只能有一个用public修饰

构造函数规则

不能有返回值,方法名和类名一致,一个类可以有多个构造函数,参数不相同,不能被继承,儿子可以用super.调用父类的方法,每个类都有构造方法,你不写,编译器也会给你创建

java中clone克隆

Java中有两种复制克隆方分为 浅拷贝和深拷贝,浅拷贝我复制的是你对象的地址,别人访问克隆我,本质还是访问你,我只是把你的地址放到我身上。深拷贝,就是我把你有的我都拿过来,我就另一个你。

Java在处理基本数据类型时(byte,char,short ,int,long,float ,double,boolean)都是值传递,string是引用数据类型,不是基本数据类型。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值