资讯专栏INFORMATION COLUMN

我的JAVA学习

Caizhenhao / 1481人阅读

摘要:学习笔记方法方法就是一个功能块返回数值,结束方法方法定义格式修饰符方法返回类型方法名形参列表方法传值值传递,没有引用传递面向对象以类的方式组织代码,以对象的方式组织类对对象的抽象对象具体的事物对象以类为模板以类的方式组织代码,以对象的方式组

JAVA学习笔记

1.方法

方法就是一个功能块
return ,返回数值,结束方法  
方法定义格式:
[修饰符] 方法返回类型 方法名(形参列表){
}
方法传值:值传递,没有引用传递

2.面向对象

以类的方式组织代码,以对象的方式组织
类:对对象的抽象
对象:具体的事物
对象以类为模板
以类的方式组织代码,以对象的方式组织(封装)数据

3.引用

String s;就是一个引用,但必须初始化否则会出错 ,如 String s="dadsf";//在JAVA中字符串可以加引用,一旦创建了一个引用,就希望他和一个对象相关联,通常用new操作符来实现这一目的,new关键字是“给我一个新对象”,所以:String s=new String ("dadsf");

4.属性初始化

数值默认值为0,引用类型默认值为null,boolean:默认初始值为false

5.变量

成员变量不用初始化(系统会自动初始化),方法中的变量需要初始化

6.内存分配空间

a栈:自动分配连续空间,后进先出,放置局部变量(方法类声明的变量)
b堆:不连续,放置new出的对象
c方法区(也是堆):存放类的代码信息,static变量,常量池
第一步:从main方法开始
第二步:通过类加载器Class Loader 加载类,加载后,方法区中就有了类中的信息
    1.代码(a.一堆属性,b.方法)
    2.static变量
    3.常量池(字符串常量,双引号里面的)
第三步:操作对象(操作地址)

7.构造方法 constructor

[修饰符]类名(形参列表){   }
public car()
一种特殊的方法
1.通过new 关键字调用
2.构造器虽然有返回值,但是不能定义返回类型(返回类型是本类),不能在构造器里面调用return
3.如果我们没有定义构造器,则系统会自动定义一个无参的构造函数
4.构造方法名必须和类名一致
5.构造该类的对象,经常也用来初始化对象的属性

8.方法重载overload

相同:同一个类,名字相同
不同:参数列表不同(类型不同,个数不同,顺序不同)
形参名不同不构成重载,返回值不同

9.static

static 变量 从属与类名(不用对象就可以调用)
成员变量从属与对象
从属类的的static方法,不能调用非静态的事物
从属于对象的可以调用从属于类的(static方法),先加载类,然后再找

10.this

this 用于方法内部
每一个对象的方法(普通方法)都有隐式参数this
this 还可以用于调用其他构造方法,但必须放在首位

11.继承(extends,子类是父类的扩展)

类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模
提高代码的复用性
JAVA中只有单继承,没有多继承(Java更接近与生活,采用单继承方便维护,单继承在类多的时候比多继承好)
Java中的多继承,可以通过接口来实现
所有类的主类都是Java.lang.Object类,如果没有定义继承,则默认继承Object类

12.方法的重写(override)

在子类中可以根据需要对从基类中继承来的方法进行重写

13.组合

也可以使得代码复用,继承的概念是:哺乳动物是动物(is-a),
组合:组合则是包含关系,如计算机包含主板(has-a)

14.final

修饰变量 修饰后的变量就是常量了不能更改
修饰方法 修饰后该方法不能被重写,但是可以被重载
修饰类 修饰的类不能有子类,不能被继承,比如Math,String

15.封装

pricate(私有)同一个类可以看到,其余都不行
default(默认)同一个类,同一个包可以看到
protected(保护)同一个类,同一个包,一个包可以看到
public(共有)同一个类,同一个包,子类,所有类都能看到

16.多态

编译时类型 对应说,
运行时类型 对应做,
多态的3个必要条件:要有继承,要有方法重写,父类引用指向子类对象
父类的引用指向子类的对象,多态是指方法的多态

17.内部类

成员内部类:
a.静态内部类:当一个静态内部类存在时,外部类部一定存在,静态的不能调用外部类非静态的属性方法,但可以使用静态属性
b.非静态内部类:可以使用外部类的成员,但外部类无法访问内部类的成员,不能有静态方法,静态变量,静态属性
匿名内部类:只使用一次的类,如键盘监听操作等等
格式:new 父类构造器(实参类表) 实现接口(){}

18.数组

动态初始化:直接赋值 a[0]=5;
默认初始化:数组元素相当于对象的成员变量,默认值跟成员变量的规则一样数字0,布尔falsa,charu0000,引用:null
静态初始化:int c[]={23,25,26,};
名与实:
数组长度一但确定,就不能更改,数组是final修饰
int[]student=new int[5];
student[0]=88;
int[]teacher=new int[6];
teacher[0]=55;
teacher=student;//使teacher指向student
System.out.println(student[0]);
System.out.println(teacher[0]);
//输出结果
88
88



文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69413.html

相关文章

  • 一份最中肯的Java学习路线+资源分享(拒绝傻逼式分享)

    摘要:因为某些原因,不方便在这里直接发送百度链接,关注我的微信公众号面试通关手册回复资源分享第一波即可领取。然后大家还有什么问题的话,可以在我的微信公众号后台面试通关手册给我说或者加我微信,我会根据自己的学习经验给了说一下自己的看法。 这是一篇针对Java初学者,或者说在Java学习路线上出了一些问题(不知道该学什么、不知道整体的学习路线是什么样的) 第一步:Java基础(一个月左右) 推荐...

    hearaway 评论0 收藏0
  • 我的Java开发之路

    摘要:提高有了入门的基础,开始自学当时流行的三大框架和。业余的时间,经常在上闲逛,看一些博客或开源的代码。 最近有一位小伙伴通过公众号给我留言, 我参加工作没多久,看着圈里的技术大牛,特别羡慕,也渴望成为技术大牛,想让您分享一下从小白到大牛是怎样练成的,我该如何提高自己 首先,谢谢这位小伙伴的一直关注。其次,我并不是大牛,只是早搬了几年的砖而已,不过可以分享一下我的Java开发之路。 入门 ...

    lidashuang 评论0 收藏0
  • (快)开学了,各大编程语言在群里吵翻了天!

    摘要:我是由贝尔实验室的在年年间发明创造的,瞧,就他你们眼中的语言之父。与此同时,由于库函数的缺失,导致新手在开发任何一块小程序的时候都必须得亲力亲为。对了,我爸是微软,由和派生出来的面向对象的编程语言。对,我曾是世界上最好的编程语言。 ...

    bang590 评论0 收藏0
  • 假如时光倒流,我会这么学习Java

    摘要:看起来没有集合框架,线程,等那么耀眼,但它可是很多框架的基础啊回复反射查看相关文章,先把基础学会,后面的得用到它。 回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般, 但是分享下我的心得,估计也能帮大家少走点弯路。[入门]我在2001年之前是C/C++阵营, 有C和面向对象的基础, 后来转到Java ,发现没有指针的Java真是好简单, 另外Java 的类库好用的让...

    bladefury 评论0 收藏0
  • 作为我的的第一门语言,学习Java时是什么感受?

    摘要:作为技术书籍或者视频,讲解一门语言的时候都是从最底层开始讲解,底层的基础有哪些呢首先是整个,让我们对这门语言先混个脸熟,知道程序的基本结构,顺带着还会说一下注释是什么样子。 2018年新年刚过,就迷茫了,Java学不下去了,不知道从哪里学了。 那么多细节的东西,我根本记不住,看完就忘。 刚开始学习的时候热情万丈,持续不了几天就慢慢退去。 作为技术书籍或者视频,讲解一门语言的时候都是...

    isaced 评论0 收藏0
  • 我想,是时候和大学告别了~

    摘要:最后,感觉上天很眷顾我,可能是以前我经历了太多,我考上了,我的女朋友也考上了武汉的某,这对于我来说,算是送给我大学的最好的礼物吧。 01 近些日子,总想着该写点什么对大学作一个总结,或者说是一个告别吧,马上就要毕业答辩了,也马上就要参加毕业酒会了,我想,是时候了~ 回想大学四年,对自己的表现还算满意吧,虽然没有什么突出的成绩,也不是什么好的学校(大学普通本科),哈哈,但是对于大学的总结...

    djfml 评论0 收藏0

发表评论

0条评论

Caizhenhao

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<