【学习笔记】java核心技术学习笔记整理

《java核心技术》

 花了半天到一天又认真读了一下java核心技术中的类部分,感觉最近编程时候好多迷迷糊糊,“这样对不对呢,试一试。怎么不对呢”这类的迷糊问题原来都早有定义。

  •  main函数必须在主类中
  •  一个class就是一个机器,要使用其中的方法,需要构建这个类的实例。 一个class中如果定义构造器,构造器的类型是public 类名,类名就是原类名
  •   一个类可以有多个构造器,构造器没有返回值。
  •  变量标记为private,代表只有该类的方法才能使用这些变量,别的类的不可以  方法标记为public,则别的类的方法都可以调用这个方法 
  •  访问器方法:getname  更改器方法:setname  一般是:私有的数据域,共有的访问器方法和更改器方法   、
  • 静态方法:private static的方法,不需要构建实例就可以直接饮用  
        a,如果该方法不需要用对象的变量,只需要使用显式参数就可以 

                b,如果这个方法只需要访问类的静态域。

  • 静态域:属于类的一个变量,private static int nextId,当将类做实例化后,会有多个对象,但是只有一个静态域。
  • 一个类中只能含有一个公有类,且名字和文件名一致。EmployTest.java中含有main方法,Employ.java中定义了Employ 的class,则编译时候javac Employ*.java ,在java EmployTest,它会自动将Employ.java也生成class,再串联执
  • .每个类都可以有个main,用来测试这个类,做单元测试
  • this可以调用隐式参数。如果没有写构造器,会有个默认构造器,将数值设置为0,将对象设置为null(注意:String类的name也会成为null,因为String是个类)

对象与类基础

对象变量:Java的对象变量相当于C++的对象指针

构造体:1. 必须与类同名

                   2.每个类至少有一个构造体,默认为无参构造体

                   3.可以有0个或多个参数

                   4.没有返回值

                   5.可以是private,protected或public,默认为public

                   6.总是伴随new关键字一同被使用

显式参数:类方法括号中的参数

隐式参数:调用时出现在方法名前的类对象;方法定义中使用this关键字代表该隐式参数

基于类的访问权限:某个类的方法可以访问该类的任何一个实例的私有域

final实例域:将实例域定义为final,则在创建实例时必须初始化这样的域;对于可变对象的变量,定义为final只表示该变量不能再引用别的对象,但当前对象的内部数据域仍可以修改。

静态域:将域用static关键字修饰,表示该类的每一个实例中都有这个域的一份拷贝;静态域属于类,而不属于任何独立的实例,每次对其进行修改,则每个实例中的该域都会变成最新的值

常量:static + final

静态方法:将类方法用static修饰,表示该方法不能向该类的实例实施操作;静态方法没有隐式参数(this);静态方法只能访问该类中的静态域,不能访问实例域;静态方法通过类名直接调用,如Math.random();

 

方法参数

Java使用值调用

方法参数有两个类型:

1.        基本数据类型

2.        对象引用

对于基本数据类型参数,方法并不能修改实参(因为值调用)

对于对象引用的参数,形参与实参指向的是同一个对象位置,所以方法能改变该对象内部的值,但不能使实参指向一个新的对象

 

对象构造

重载:一个方法的签名包括方法名及其参数列表,不包括返回值和访问权限;重载就是具有相同方法名、不同参数列表的一组方法,由编译器根据参数列表挑选匹配的方法进行调用

默认域初始化:如果没有在构造体中对域进行显式赋值,那么默认地,数值域赋为0,布尔域赋为false,对象变量赋为null

默认构造体:如果在类定义中没有显式定义构造体,那么默认地,运行时系统会提供一个无参的空构造体

显式域初始化:类定义中,在域定义时直接将初始值赋给该域

调用另一个构造体:在一个构造体中第一句使用this(…);可以调用另一个重载的构造体

初始化块:类定义中直接包含代码块,用于给域赋上初始值

对象构造执行顺序:包含静态块、域初始化语句、初始化块、多个构造体

1.      所有数据域都被初始化为0、false或null

2.      按照类声明中出现的次序依次执行所有静态块

3.      按照类声明中出现的次序依次执行所有域初始化语句和初始化块

4.      如果构造体第一行调用了第二个构造体,先执行第二个构造体的主体

5.      执行本构造体的主体

对象析构:Java不支持对象析构,由垃圾回收器统一回收不再被需要的资源

 

转载于:https://www.cnblogs.com/lijieqiong/p/4897838.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/544039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 是值传递还是引用传递?

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)开篇先来曝答案,在 Java 语言中,本质只有值传递,而无引用传递,解释和证明详见…

用于数据分析的Python – Pandas

大熊猫 (Pandas) Pandas is an open-source library built on top of NumPy Pandas是建立在NumPy之上的开源库 It allows for fast analysis and data cleaning and preparation 它允许快速分析以及数据清理和准备 It excels in performance and productivity 它在性能和生产力…

1022词法分析实验总结

经过这次词法分析的实验之后,收获良多。弥补了一些知识空洞,以前不懂的知识也弄懂了。 显然这都得力于组员之间的合作与帮助,一人负责编写,其他在旁边给想法同时学习。程序中运用了许多for,if,while等的循环…

SpringCloud基于RocketMQ实现分布式事务

前言分布式事务是在微服务开发中经常会遇到的一个问题,之前的文章中我们已经实现了利用Seata来实现强一致性事务,其实还有一种广为人知的方案就是利用消息队列来实现分布式事务,保证数据的最终一致性,也就是我们常说的柔性事务。消…

c# uri.host_C#| 具有示例的Uri.Host属性

c# uri.hostUri.Host属性 (Uri.Host Property) Uri.Host Property is the instance property of Uri class which used to get host components from URI. This property returns a string value. This property may generate System.InvalidOperationException exception. Uri…

VS使用和错误收集

USE: VS引用相对路径(需要说明的是,“..\”表示退出这一目录) VS 2005项目中添加lib库以及代码中的相对路径 ERROR: fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires M…

漫画:怎么证明sleep不释放锁,而wait释放锁?

wait 加锁示例public class WaitDemo {private static Object locker new Object();public static void main(String[] args) throws InterruptedException {WaitDemo waitDemo new WaitDemo();// 启动新线程,防止主线程被休眠new Thread(() -> {try {waitDemo…

机器学习 导论_机器学习导论

机器学习 导论什么是机器学习? (What is Machine Learning?) Machine learning can be vaguely defined as a computers ability to learn without being explicitly programmed, this, however, is an older definition of machine learning. A more modern defin…

就国内某个程序员问答网站的简单的分析

为什么80%的码农都做不了架构师?>>> 一、数据抓取 分析页面数据,设计数据表结构数据只要包含投票、回答数、问题状态、最后谁回答过、浏览数、问题标题、标签,数据样例如下:由于一开只打算爬问题标题,问题…

树的结构 数据结构_段树| 数据结构

树的结构 数据结构What is a segment tree? 什么是段树? A segment tree is a full binary tree where each node represents an interval. A node may store one or more data members of an interval which can be queried later. 段树是完整的二叉树&#xff0…

iOS开发中 常用枚举和常用的一些运算符(易错总结)

1、色值的随机值:#define kColorValue arc4random_uniform(256)/255.0 // arc4random_uniform(256)/255.0; 求出0.0~1.0之间的数字view.backgroundColor [UIColor colorWithRed:kColorValue green: kColorValue blue: kColorValue alpha: 0.5]; 2、定时器的使用&…

明明加了唯一索引,为什么还是产生重复数据?

前段时间我踩过一个坑:在mysql8的一张innodb引擎的表中,加了唯一索引,但最后发现数据竟然还是重复了。到底怎么回事呢?本文通过一次踩坑经历,聊聊唯一索引,一些有意思的知识点。1.还原问题现场前段时间&…

python字符串 切片_用于切片字符串的Python程序

python字符串 切片Given a string and number of characters (N), we have to slice and print the starting N characters from the given string using python program. 给定一个字符串和字符数( N ),我们必须使用python程序从给定的字符串中切片并打印开始的N个字…

nmap入门之主机发现

2019独角兽企业重金招聘Python工程师标准>>> #主机发现(HOST DISCOVERY) ##仅列出IP,不扫描 nmap -sL 192.168.70.0/24 > nmap_result.txt 2>&1##仅ping扫描,不扫描端口 nmap -sn 192.168.70.0/24##不ping扫…

面试官:为什么ConcurrentHashMap要放弃分段锁?

今天我们来讨论一下一个比较经典的面试题就是 ConcurrentHashMap 为什么放弃使用了分段锁,这个面试题阿粉相信很多人肯定觉得有点头疼,因为很少有人在开发中去研究这块的内容,今天阿粉就来给大家讲一下这个 ConcurrentHashMap 为什么在 JDK8 …

ruby .each_Ruby中带有示例的Array.each方法

ruby .eachRuby Array.each方法 (Ruby Array.each method) Array.each method can be easily termed as a method which helps you to iterate over the Array. This method first processes the first element then goes on the second and the process keeps on going on unt…

面试突击72:输入URL之后会执行什么流程?

作者 | 磊哥来源 | Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)在浏览器中输入 URL 之后,它会执行以下几个流程:执行 DNS 域名解析;封装 HTTP 请…

二层交换网络_网络中的第2层交换

二层交换网络二层交换简介 (Introduction to Layer 2 Switching) As you know hubs are not intelligent devices. Whenever a hub receives a frame, it broadcasts the frame in all ports. Also, the hub represents a single collision domain i.e. when any 2 hosts send …

最小化托盘示例工程

http://files.cnblogs.com/files/kekec2/BuyTicket.rar.gif转载于:https://www.cnblogs.com/kekec2/p/4914572.html

面试必备:TCP 经典 15 连问!

TCP协议是大厂面试必问的知识点。整理了15道非常经典的TCP面试题,希望大家都找到理想的offer呀1. 讲下TCP三次握手流程开始客户端和服务器都处于CLOSED状态,然后服务端开始监听某个端口,进入LISTEN状态第一次握手(SYN1, seqx),发…