
JAVA基础
JAVA基础
small_py_trade
这个作者很懒,什么都没留下…
展开
-
super关键字
super和this一样只能出现在构造和实例函数中,不能用在静态方法。 super()只能出现在子类构造函数第一行,初始化父类的一些特征。 父类如果有构造方法无参,子类默认调用super(),父类如果没有无参构造,子类必须有个带参数的super方法。 this()和super()不能共存,都只能出现在构造函数第一行。 比如说 public C(){ this(1); } public C(int a){ super(); } 这里面this(1)会去调用第二个构造函数,然后就会super转载 2021-12-04 16:13:12 · 84 阅读 · 0 评论 -
访问控制权限修饰符
指pubilc protected private 缺省 protected在同包下和子类能够访问,缺省的只能在同包下访问。原创 2021-12-03 19:48:44 · 98 阅读 · 0 评论 -
final关键字
final修饰的类无法继承,方法无法覆盖,变量一旦赋值后无法更改。 实例变量用final修饰后必须赋值,不能用默认值。或者使用构造方法赋值。 被final修饰的引用不能改变其存储的地址,只能一直指向一个对象。 一般情况下常量的定义: static final 为修饰符,变量名要大写,单词间用下划线连接。 ...原创 2021-12-03 19:12:26 · 104 阅读 · 0 评论 -
多态
向下转型和向上转型: 向上指子类到父类,向下指父类到子类(要加强制类转换符) 多态机制: Animal A=new cat();Animal是cat的父类。这是子类转换为父类,就是向上转换,允许使用。 编译阶段A的数据类型是Aniaml,编译通过,字节码中有相应的方法,称这个过程为静态绑定。 但是在JVM中真实创建的是cat对象,调用的方法也是cat里面的方法。这称为动态绑定。 这种现象父类型引用指向子类型对象,这种机制导致了编译和运行阶段绑定的不同,这...原创 2021-12-02 21:18:22 · 89 阅读 · 0 评论 -
继承和方法覆盖
语法格式: {修饰符列表} class 类名 extends 父亲名{ 类名=属性 +方法 } java中只能继承一个类,被继承的称为父类、基类、superclass,继承的称为子类、派生类、suboclass。private修饰的不能被继承。 java.lang.object是所有类默认继承的 方法覆盖即子类将父类中方法重写,返回值,方法名,参数列表必须一样。 访问权限不能更低,可以更高。public,protected,private.所有私...原创 2021-12-02 20:12:01 · 221 阅读 · 0 评论 -
static 关键字
比如一个Chinese的类,里面一个变量国籍需要所有这个类的对象都是一样的,这个变量就可以设成静态变量。它在类加载的时候就初始化,存在方法区中,用类名.变量名访问,用引用.访问也可以(不推荐)。 static修饰的代码都在类加载时候执行,只执行一次。 static{语句}称为静态代码块,可以在类加载的时候就可以进行数据的准备等一些工作。 {}称为实例代码块,就是在对象加载的时候才用。 ...原创 2021-12-02 19:27:16 · 58 阅读 · 0 评论 -
this关键字
this是一个引用变量,其中保存了指向自身的地址,this在堆内存中的类内部 this位置示意图: 没有static关键字的方法称为实例变量,同样没有static的变量称为实例变量。当一个动作需要对象参与,就不要定义为static。this可以出现在实例方法中,表示正在执行这个方法的对象。 有static就要用类名.方法名调用,这种方法执行时候不需要对象,而且访问不了实例对象,因为没有引用。但是可以在static的方法中new一个对象,然后使用这个对象。因为主函数一般前面都有static,所以主函转载 2021-12-02 18:55:55 · 96 阅读 · 0 评论 -
参数传递
如:public static void main(String[] args) { students A=new students(5); add(A); } public static void add(students s) { System.out.println("年龄"+s.getAge()); } 在这里面A是引用,存储了创建的堆内存中的对象的地址,在调用add函数的时候,这个地址传给了局部变量s,都是指向的同一个对象。...原创 2021-12-02 09:21:33 · 106 阅读 · 0 评论 -
构造方法
构造方法用来创建对象,初始化实例对象的内存空间。 语法结构 (修饰符列表) 构造方法名(形参列表){ 构造方法体; } 跟普通方法比,没有返回值类型,方法名必须和类名一致,通过调用构造方法,可以创建对象。 调用: new 构造方法(实参列表) 构造方法执行后返回的是对象在堆内存中的地址。如果不自己定义方法,系统给一个无参数的构造方法,叫缺省构造器。如果定义了,默认的就无效。构造方法还可以定义多个,传入参数可以不一样。 ...原创 2021-11-30 21:35:18 · 177 阅读 · 0 评论 -
面向对象封装性
属性前加private修饰,只有在这个类里面才能访问。 如果外部要访问该属性,通过set()方法改变属性,get()方法读取属性。 语法如下: public void set属性名首字母大写(){ } public void get属性首字母大写(){ } 写完属性后右键source里面选generate getters and setters自动生成这两个函数 有了这两个函数就可以在访问和修改时进行安全过滤。 static: 有stati...原创 2021-11-30 20:58:07 · 83 阅读 · 0 评论 -
myeclipse
工作区: eclipse开始的时候要选工作区,.class文件就在这个工作区可以找到 要开一个新的对话就要对应一个新的工作区 .metadata: 存储了当前myeclipse的工作状态,文件夹如果删除了,下一次进入会全新开始。 /* crrl+d删除一行,alt+/自动补全 * ctrl+s保存 * ctrl+1自动纠错 */ ...原创 2021-11-30 20:42:47 · 182 阅读 · 0 评论 -
java的类和对象的存储
类的修饰符 class 类名 { } 属性描述对象状态信息,属性在类中用变量描述,方法描述对象动作信息。由于变量在方法体外,类里面,所以是成员变量。要访问这个属性必须先创建对象,不能通过类去访问,所以又叫实例变量。对象又称为实例,实例对象又叫对象变量。 成员变量没有赋值情况下的默认值; java中所有类都属于引用数据类型,不是基本类型int、short这些。 对象的创建和使用: 实例化对象:new 类名() new在JVM的堆内存中开辟新的内存,类加载时.cla...转载 2021-11-29 20:06:23 · 1205 阅读 · 0 评论 -
方法重载机制
比如以下两种方法: public static int sum(int a,int b){ return a+b; } public static double sum(double a,double b){ return a+b; } 这两种方法功能相同,就是传入参数类型不一样,可以用同一个名字,让传参不同就行。这叫方法重载。方法重载只跟方法名和传入参数列表有关。 ...原创 2021-11-28 20:13:26 · 121 阅读 · 0 评论 -
循环语句
for循环: for (初始化表达式;布尔表达式;更新表达式){ java 语句循环体} 三个表达式都不是必须的,但是两个分号必须写原创 2021-11-27 19:45:25 · 216 阅读 · 0 评论 -
switch语句
switch(int或String类型的变量或字面值){ caseint或String类型的变量或字面值 java语句; 。。。 break caseint或String类型的变量或字面值 java语句; 。。。 break default: java语句; } 所以case语句如果都不成功,转到default byte,short,char因为可以转换成int,可以直接写到case和s...原创 2021-11-26 20:14:17 · 139 阅读 · 0 评论 -
键盘输入
第一步:创建键盘扫描对象 java.util.scanner s=new java.util.Scanner(System.in); 第二步:调用scanner对象的next()方法开始接收用户键盘输入用户输入的信息会赋给你创立的字符串,用nextInt()方法可以输入数字 String userinput=s.next(); 然后就可以使用userinput,就是存储的输入内容 ...原创 2021-11-25 20:51:45 · 126 阅读 · 0 评论 -
if 语句
语法结构有四种: 1, if(布尔表达式){ java语句 } 2, if(布尔表达式){ java语句 } else { java语句 } 3, if(布尔表达式){ java语句 }else if(布尔表达式){ java语句 n} 4,就是上一个后面加else ...原创 2021-11-25 19:43:35 · 89 阅读 · 0 评论 -
字符串连接运算符和三元运算符
+还可以做字符的连接运算,当它两边只要有一个字符串,一定会进行连接,连接后为一个新的字符串。 如:System.out.println(10+29+"10"); 输出102910原创 2021-11-25 17:10:35 · 508 阅读 · 0 评论 -
赋值类运算符
如: byte x=10; x=x+10;//编译不通过 x+=10;//编译通过,这个相当于x=(byte)(x+10) 扩展类的赋值运算符不改变数据类型原创 2021-11-25 16:45:33 · 105 阅读 · 0 评论 -
逻辑运算符
& | ! ^ 与 或 非 异或 && 短路与 ||短路或 逻辑运算的对象和结果必须是布尔类型 短路与或和逻辑与或结果是相同的,但是有短路现象 例如说 int x=10;int y=8; System.out.println( false & ++x <y); System.out.println(x); 输出x是11 int x=10;int y=8; System.out.println( false && ++x &...原创 2021-11-25 16:10:07 · 114 阅读 · 0 评论 -
关系运算符
> >= < <= == != 关系符的运算结果一定是布尔变量。原创 2021-11-25 15:50:12 · 65 阅读 · 0 评论 -
算术运算符
+ - * / % ++ -- 加小括号提升运算优先级 ++和--可以在变量前,也可以在变量后 int a=b++和 int a=++ b 一个是先赋值再加一,一个是先加一再赋值原创 2021-11-25 15:46:22 · 62 阅读 · 0 评论 -
布尔型数据变量和数据转换规则
boolean型数据变量只有true和false。 除boolean类型外其他类型都可以互相转换。 小容量向大容量转换,顺序: byte<short<int<long<float<double char 和short同级,但是因为char没有负的,所以可取的正数更多 不同类型相运算时,先都转成整数,再赋值 ...原创 2021-10-14 20:40:09 · 686 阅读 · 0 评论 -
浮点数精度类型
float4个字节 double8个字节 java中小数是默认的double类型的字面值,如果赋给float类型就是大容量给小容量,需要强制转换:float f=5.12f.原创 2021-10-14 20:12:29 · 82 阅读 · 0 评论 -
整数型数据类型
java特点:一个整数是先当作int类型量处理,再赋值给变量。 三种字面值: 十进制缺省默认,八进制以0开始,十六进制以0x开始 把int 类型赋值给long类型,存在数值转换。但小容量可以自动转换为大容量,大容量转换成小容量需要加强制类型转换符(对byte、short、char类型而言,不超过其范围的可以直接赋给它),但这样可能造成严重的精度损失。转换的时候就是把二进制高位的数据砍掉。 long z=2147483648; 这句是错的,因为数值超过了int类型,所有数值都是先当作int类型处理的,原创 2021-10-14 19:35:45 · 237 阅读 · 0 评论 -
字符及转义
例如:char c='l'; ''表示字符,""表示字符串 System.out.println()表示输出后换行,System.out.print()表示输出之后不换行 \n为换行符,\t为制表符,要输出\字符再加一个\ 要让'或者"变成普通的双引号也加\ ...原创 2021-10-12 20:31:02 · 133 阅读 · 0 评论 -
数据类型
short 和 char是一样的,但是char没有负的,所以表示两倍的整数。 成员变量没有赋值系统会赋默认值,局部变量不会。原创 2021-10-12 18:29:03 · 67 阅读 · 0 评论 -
变量
变量指内存中的一块空间,有数据类型、名字、字面值,是存储数据最基本的单元。 变量在java中必须先赋值才能使用 变量的作用域:不能出大括号 比如for (j=0;j<10;j++){ }这个j变量仅局限于for循环之内。 变量分为局部变量或成员变量(全局变量),分别在方法内或方法外体内定义。 ...原创 2021-10-10 19:14:40 · 72 阅读 · 0 评论 -
类的定义
一个源文件中可以定义多个class,编译后就生成几个class文件 public class是可以没有的,有的话只能有一个,而且名称必须与源文件相同 每个class都可以写主方法main,都可以作为程序入口,用java 类运行,但是没有main函数不能运行 ...原创 2021-10-09 09:54:34 · 54 阅读 · 0 评论 -
常用DOS命令
exit:退出窗口 cls:清除窗口 dir:列出当前目录下的子目录/文件 cd +目录的路径:改变路径(路径包括了相对和绝对路径,比如Desktop对C:\Users\Administrator\就是相对路径)原创 2021-10-08 20:34:40 · 81 阅读 · 0 评论