java学习日记(8-13)

###############  day08 eclipse 使用   #####################
Alt+/ 自动补全 syso
shift + enter 到下一行行首
ctrl+shift+f 格式化代码
ctrl+/ 单行注释
ctrl+shift+/ 多行注释
ctrl+shift+o 导包
Alt+上下箭头 移动代码行
ctrl+d 删除
ctrl+1 意见提示
import导入工程

############## day09 类 day10 继承 ##########################
局部变量没有默认值,跟随方法进入栈中
成员变量跟类对象进入堆中
private 修饰成员变量,本类可见
类方法的就近访问原则
this.name 同C++的this指针
p.speak() 在调用的时候,同时把地址传给this

extends java单继承
子类调用成员变量,方法,重名时采用就近原则
也可用this,super表明本类与父类
implements 实现接口,必须重写所有方法

override 重写
子类方法的权限大于等于父类方法的权限

public
protected 可以在不同包下子类中使用
default 本包内使用,不写任何权限, 默认为default
private

public abstract class 抽象类,不能实例化对象
public abstract void work(); 抽象方法必须存在抽象类中
只要有抽象方法,就一定是抽象类
抽象类可以没有抽象方法

子类必须重写父类抽象方法

################### day11 接口 ##################
interface 成员方法全抽象,成员变量为常量
public abstract 返回值类型 方法名(参数列表) # 成员方法必须此格式
public static final int a = 1;
# 可以不写修饰符,选择性写修饰符,但本质是一样的

可以实现多接口,但多个接口不能有相同的(函数名,参数列表)返回值不同
接口可以 extends 别的多个接口

多态 FU f = new ZI()  父类(接口)引用指向子类对象
出现自动类型提升,子类提升为父类类型,向上转型
只能调用父子共有的方法,不能调用子类特有的方法
ZI z = (ZI)f 向下转型

#多态

成员变量,静态成员方法
编译看父类
运行看父类
f.a 调用的是父类的成员变量,若无,报错

非静态成员方法
编译的时候看父类
运行的时候看子类

instanceof 判断一个引用变量是不是某个类对象
p instanceof People

########### day12 构造方法,this, super ##########
构造方法格式 权限 类名(参数列表) 同C++,默认有无参构造方法规则,同C++

this(参数列表) 在一个构造函数中调用另一个构造函数,必须写在构造函数的第一行
参数列表应匹配相应构造函数的参数列表

super(参数列表) 在子类构造函数中调用父类构造函数,参数列表可为空(调用空参)
子类中的构造方法会自动调用父类的无参构造方法(若没有显示调用父类构造方法)
第一行
super. 调用父类的成员函数与成员变量

super(), this() 不能同时出现

子类内存空间分为父类空间和子类空间,同C++
子类的所有构造方法都要直接、间接的调用父类构造函数

########### day13 final static 匿名对象 内部类 包 ########
# final
修饰类, 不可被继承
修饰方法, 不能被重写

修饰变量, 一次赋值,不能被改变, 同C++ const

修饰引用数据类型, 变量保存的内存地址不能改变 同C++ const

修饰成员变量
成员变量的赋值,在创建对象前赋值
1、final int age= 1; 直接赋值(recommend)
2、构造方法赋值
final int age;
public People(int age)
{
this.age = age;
}

# static 同C++
修饰类成员, 成为对象共享数据,不属于某个对象,类共有,同C++
可以用类名调用, 存在于静态区,有默认值

public static final String SCHOOL_NAME = "itcast";
常量大写,单词之间加下划线
匿名对象:做参数,做返回值

内部类可以使用外部类成员
外部类要使用内部类的成员,必须建立内部类对象

调用规则
外部类名.内部类名 变量 = new 外部类().new 内部类();
变量.内部类成员

同名变量的调用
调用外部类成员 outer.this.i;
调用内部类成员 this.i;
调用局部变量 i;

局部内部类
在方法里面建立内部类对象,对象进行调用

# 匿名内部类

定义实现类,重写方法,创建实现类对象一步完成

new 接口/父类(){
重写抽象方法
}.方法;

多态的方式
接口/父类 变量 = new 接口/父类(){
重写抽象方法
};
变量.方法1;
变量.方法2;

class XXX implements Smoking{                                      new Smoking(){
  public void smoking()    等价于            public void smoking() 
  { }                           {   }
}                           }.smoking();

XXX x = new XXX();
x.smoking();

包相当于文件夹   包名网址反写

代码块执行顺序
static 代码块,只执行一次
构造代码块
构造方法

时间: 2024-11-08 23:50:31

java学习日记(8-13)的相关文章

Java学习日记(一)基础

标识符: 由26个英文字母大小写,数字:0-9 符号:_ $ 组成 定义合法标识符规则: 1.数字不可以开头. 2.不可以使用关键字. 3.Java中严格区分大小写. Java中的注释格式: 单行注释: 格式: //注释文字 多行注释: 格式: /* 注释文字*/ 文档注释: 格式:/** 注释文字 */ 常量: 常量表示不能改变的数值. java中常量的分类: 1.整数常量.所有整数 2.小数常量.所有小数 3.布尔型常量.较为特有,只有两个数值.true 和false. 4.字符常量.将一个

java学习日记第一天

java 学习日记 第一天 java学习准备工作 首先环境配置:一个是jdk安装,另一个编译工具 eclipse ,安装下载教程网上很多 找了一个照着做就行 : 上述步骤完成,我们就可以打开eclipse进行我们第一个程序的编写啦当然是编写我们熟悉的helloWorld创建一个Java Perfect 目前好像基本都习惯用工程管理我们就建一个java工程然后点开工程在src右键new一个class,不用问这是啥这是啥,先把程序跑起来,慢慢就懂了我们在{}写我们的程序,这就好比helloworld

java学习日记

我自己是学前端的,个人认为,如果一个前端连一个后台语言都不曾了解过,在工作中可能会和后台掐架,抱着这种心态来自己学学java,在这几天看过的书和视频来看,很多java当中的语法和js有很多相似之处,就比如说关键字:if,for之类的,可以说是编程语言当中最常见而且最常使用,使用方式也是相同的几个关键字了.经过两天的学习,了解了java和js的不同之处: 取值的方式不同,在js中找到input节点.value就能轻松取值,但是在java中,要取值首先要导入一个包"Scanner",创建&

Java学习日记:Week1---day1-2 Java初识

前言: 新的旅程正式开始了,经过了两周的c语言预科班学习,对程序的开发有了第一步的认知.如今Java课程也如期开始,对于一个程序员究竟是先学习哪个语言好已经没有必要去探究了,如今既然上了Java的船自然要老老实实的走,能到什么程度就看自己了,个人对自己还是有点信心的. 课从昨天就正式开始了,昨天老师讲了一天大方面的东西,总之没什么具体内容,今天开始了初始java的第一课:简单理了理今天老师讲的内容,挑了一些重点的记在日记. 一.JAVA的版本以及JDK 1)Java的几个版本 java SE(j

Java学习——传说中的13个规范

早就听说J2EE有十三个规范,可是看完视频我都没有发现有什么规范,这就让我纳闷了,都说学习java就是学习十三个规范,可是它到底是什么呢? 原来十三个规范就是十三个API文档,视频里讲到的都是属于API文档的知识.那么,让我们一起来了解一下这传说中的十三个规范吧. 1.JDBC(Java Database Connectivity): 用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成. 个人理解:跟微软的ODBC很像,应该说是ODB

超级小白Java学习日记(1)

作为一名初级财务人员,在生完孩子再次步入职场后,更深刻的认识到自己的不足.拥有的财务知识无论是深度还是广度,都对职业发展益处不大.对自己进行了浅薄的剖析,认为我的兴趣.性格都不适合做财务.所以想开发一项技能,能提高职场竞争力,找到兴趣点. 自我介绍 29岁财务女,新晋宝妈,生了孩子之后像重活一场.看到身边小小的可人儿,他全心全意的依赖着我,可是我却不敢面对他.因为我觉得我没有优点值得他学习,我不敢在他长大后站在他面前,说我是妈妈,妈妈是对的,你要听妈妈的. 都说"为母则刚",如果这个&

java学习日记-基础-随机数组的求余运算

时间是2017年5月6日,青年节刚过,坐标上海,沪漂2个月. 就这样简短地开始吧.                                by:slowcity [案例分析1] 要求定义一个int 型数组a,包含100 个元素,保存100个随机的4 位数.再定义一个int 型数组b,包含10 个元素.统计a 数组中的元素对10 求余等于0 的个数,保存到 b[0]中:对10 求余等于1 的个数,保存到b[1]中,--依此类推 一般看到这类的最基本的思路:1先建立一个含数组存随机四位数 2

黑马程序员Java学习日记之 Java-其他类型

OK , 就绪, 第一篇博客开撸 ~ android培训.java培训.期待与您交流! 先听了毕姥爷激情澎湃的其他类型 ,从这里开始入手吧 : (一)System类  System类代表系统类,系统的属性和方法都放在该类.System类是一个final类, 它不能被初始化,,即System类中的属性和方法都是static的,可以直接陪调用.System的成员变量有 out,in, err 即标准输入输出和错误输入(流),常用到的System类的方法有下面几个: a. arraycopy方法 :p

Java学习日记-11 集合(1)

Collection接口集合中存储的只是对象的引用,不是对象本身. 1.ArrayList<E>类1.1ArrayList和Collection的关系 public interface List<E>extends Collection<E> public class ArrayList<E> implements List<E> 1.2构造方法 ArrayList() 构造一个初始容量为 10 的空列表. ArrayList(Collectio

java 学习日记---------简易学生信息管理系统

转眼间,开学六周过去了,我也学习java这么长时间了.在此国庆期间闲来无事,做个小系统玩玩. -------------student类封装----------- package StudentSystem; public class student extends user{ private int stuId; private String stuName; private String stuBirthday; public int getStuId() { return stuId; }