java的基础知识

前言

学习了一段时间的java的笔记记录的东西不太多。

二、笔记正文

学习java的基础

标识符:类名规范写法:首字母大写(大驼峰式)
变量名规范:首字母小写后面单词的首字母大写(小驼峰式)
方法名规范:同变量名。
常量:程序执行期间固定不变的量。
Const;常量标识符;注意”123”为字符串常量。
浮点数常量2.5;
字符:单引号 ‘中’;为字符;单引号中只有一个字符;
布尔常量:只有量中取值。true flase;
空常量:NULL;

变量:程序运行期间内容可以发生改变的量。
强制类型转换不可超出范围
ASCLL表A 62 a

+java中的+运算关系
+可以做串联关系,如果一个字符串+一个字符串会连接起来
如果一个字符串加一个int类型则会吧int类型接在字符后面变为字符
注意优先级的运算。

进制转换:
十进制转二进制
十进制转二进制就是对十进制数来取余然后逆过来的余数即为二进制数
二进制转八进制:看二进制的位数拆成三位数一组,计算其值;
二转十六:拆成四位数一组

For循环与while循环和do while循环的区别
1.如果条件判断从来未满足for和while循环不执行Dowhile循环至少至执行一次

关于java中内存需要划分的五个部分
1.栈(Stack):存放的都是方法中的局部变量。方法运行时一定在栈内运行
局部变量:方法的参数,或者是方法内部的变量
作用域:一旦超出作作用域,立刻从栈中被释放。
2.堆(Heap):凡是new出来的东西都在堆中,数组也属于new出来的东西,
只是格式省略没有体现new。
堆内存中都有一个地址值:16进制
堆内存里面的数据,都有默认值。
整型 默认值为0
浮点型 o.o
字符型 ‘\u0000’
布尔型 false
引用类型 NUll
3.方法区(Method Area):储存class相关的信息,包含方法的信息
4.本地方法栈(Native Method Stack):与操作系统相关。
5.寄存器(pc Register):与cpu有关。

关于数组。
Int[] arrayc = new int[3];//之后再进行操作
arrayc = new int[5];
进行两个操作之后数组arrayc的长度变化?
其实两处操作arrayc并不是同一个数组
第一步为一个三个长度的数组;
第二步相当于又申请了一个长度为5数组;

数组可作为返回值为多个元素时的桥梁。
一个方法只能返回一个值,但是可以用数组接收方法中得到的值,进而返回数组。

面向对象

指定指令:Arrays.toString((array));将数组按照一定格式输出

静态类外方法可以直接在main函数里面调用。
Java中的方法一般是使用对象调用

在定义了一个类方法是一般不能直接使用,需要根据类创建一个对象才能使用

1.导包:也就是支出需要使用的类在什么位置
Import 包名称.类名称; 对于当前类属于同一个包的情况可以省略导包
2.实例化对象:类名 对象名 = new 类名称();
3.使用成员变量 对象名.成员变量名 使用方法 对象名.方法名(参数)

关于方法的定义及实现问题:
普通方法暂不介绍,这里特殊介绍关于static修饰的方法调用;
Static修饰的方法可以直接进行调用。无需实例化对象对其调用。

Java中的访问权限问题:
针对类,成员方法和属性,java提供了4中访问控制权限,分别是private,default,protected,public;
四种权限是由小到大排列
Private:其属于私有权限用于修饰类的属性和方法。类的成员一旦使用了该修饰则该成员只能在本类中使用。
Default:java中其为默认访问权限,如果一个类没有声明任何访问权限,则该类为默认访问权限,其访问权限为同一个包内,不能被其他包调用。
Protected:受保护的访问权限。一个类的成员使用该修饰则只能被本包及不同包的子类使用。
Public:公共访问权限,可以在所有类中被访问不管是否在一个包

JAVA的四大特性,
1.封装性:封装的目的是为了防止本类的代码数据被外部类定义的代码随机访问。 封装的实现:类的封装,将一个类私有化,即使用private关键字修饰本类成员及 方法外界无法访问本类成员与方法,当然为了可以使用本类,可以使用访问本类非私有 方法进行对本类成员的操作。
2.

Java中的继承问题:
Java中类继承为单继承,即一个类只能继承一个父类。
关键字:extends 写法class 子类名 extends 父类名{};
继承后的类具有父类的可访问权限的成员及方法可以实例化子类对象直接调用。
继承后不仅有父类的属性及方法,还可以拓展自己的方法和属性,即定义另外的。

子类还可以被其他类继承,此时关系为
父类A—>子类B(父类)—>子类C A是C的间接父类。

关于继承过程中的 Object类:
如果我们没有声明一个类的父类:则默认继承Object类;所有类都直接或间接继承Object

多态的引入,面向对象多态很重要的
生活中的多态
在生活中我们听到“打”一声可能只是 击,敲,攻击的意思,但是其实在不同的环境下,打的意思非常多。

多态的概述
生活中: 同一个动作在不同环境下表现出来的不同状态
Java中: 同一个方法在不同的对象中体现出来不同的状态
内存中: 父类引用指向子类对象

多态的实现的必要条件:(重点要记下)
1.存在继承关系
2.存在方法重写
3.父类引用指向子类对象

/*多态的好处:提高了代码的维护性和扩展性;
弊端:父类不能使用子类的特有功能。
要用子类的特有功能,可以:
A:创建子类对象,调用方法即可(不合理,太占内存);
B:把父类的引用强制转换为子类的引用(向下转型);
向上转型:Fu f = new Zi();
向下转型:Zi z = (Zi) f;//要求该f必须是转换为Zi的。

先给个小例子代码如下所示:
*/
class Animal{
public void eat(){
System.out.println(“吃饭”);
}
}
class Dog extends Animal{
public void eat(){
System.out.println(“狗吃肉”);
}
public void lookDoor(){
System.out.println(“狗看门”);
}
}

class Cat extends Animal{
public void eat(){
System.out.println(“猫吃鱼”);
}
public void playGame(){
System.out.println(“捉迷藏”);
}
}
public class DuoTaiTest {
public static void main(String[] args){
//定义为狗
Animal a = new Dog();
a.eat();
System.out.println("------------");
//还原成狗
Dog d = (Dog) a;
d.eat();
d.lookDoor();
System.out.println("-------------");
//变成猫
a = new Cat();
a.eat();
System.out.println("-------------");
//还原成猫
Cat c = (Cat)a;
c.eat();
c.playGame();
}
}

在这里插入图片描述

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了一些关于java的概念知识,练习的代码还比较少以后会多加练习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值