java代码分析
Mr_Zhang_Zhen
重庆大学硕士,从事机器学习、深度学习方面的研究
展开
-
java this关键字详解
为原创 2021-03-04 10:54:20 · 210 阅读 · 1 评论 -
java可变个数的形参代码讲解
可变个数的形参的方法:1、 格式,对于方法的形参:数据类型 形参名。2、可变个数的形参的方法与同名的方法之间构成重载。如下两段程序所示:三个方法构成重载。因为定义了可变个数的形参的方法,所以前两个方法可以省略。public void sayHello(String str1) { System.out.println("Hello"+str1);}public void sayHello() { System.out.println("Hello world");} public原创 2021-03-03 22:57:58 · 142 阅读 · 1 评论 -
java换行输出的几种方式
package java基础;public class 换行输出 { public static void main(String[] args){ String str="xyz"; //可以直接在输出参数或变量后加\n System.out.print(str+"\n"); System.out.print("\n1234"); System.out.print("\n"+"1234"); //可原创 2021-03-03 16:23:30 · 9847 阅读 · 1 评论 -
java中int[] arr和int arr[]有什么区别
答:是一样的[]跟在变量名后面或者跟在类型后面都可以;int [ ]arr 这么写不对的推荐 int[ ] arr 写法原创 2021-03-01 16:04:04 · 4272 阅读 · 1 评论 -
Java中main方法 String [] args的意思
public static void main(String[] args)String args[] 与 String[] args 没有区别,都可以执行,但推荐使用 String[] args,这样可以避免歧义和误读。Java 中args一般存在main主类方法内,String args[ ]或者String[ ] args表示给主方法传一个字符串数组. 而args是一个字符串数组的变量名,不是关键字,是arguments的缩写,只是一个默认名,一般都习惯性照写....原创 2021-03-01 09:51:45 · 422 阅读 · 0 评论 -
java中 i =++i;与i=i++;的区别(面试陷阱题)
i=++i;相当于以下二个语句(编译时出现警告,与i=i;警告相同):i=i+1; i=i; i = i++;相当于以下三个语句:int tmp = i; i = i + 1; i = tmp;原创 2021-01-30 16:37:15 · 207 阅读 · 0 评论 -
比较字符串的内容是否相同
必须使用equals()方法而不能用==。例子:public class Main { public static void main(String[] args) { String s1 = "hello"; String s2 = "hello"; System.out.println(s1 == s2); System.out.println(s1.equals(s2)); }}从表面上看,两个字符串用==和eq原创 2021-01-27 10:45:39 · 3447 阅读 · 0 评论 -
多态:如何理解Person ming = new Person();
Person ming = new Person();注意区分Person ming是定义Person类型的变量ming,而new Person()是创建Person实例。而对于如下情况:Object o = new person;Object o = new Student();Object类型的变量o,可以指向person类型的对象,也可以指向student类型的对象。Object是父类,person、Student为子类。(一个引用类型变量可能指向(引用)多种不同类型的对象)pu原创 2021-01-16 21:36:04 · 724 阅读 · 0 评论 -
一个代码理解java中的 重写(多态)
如果子类覆写了父类的方法:那么,一个实际类型为Student,引用类型为Person的变量,调用其run()方法,调用的是Person还是Student的run()方法?public class Main { public static void main(String[] args) { Person p = new Student(); p.run(); // 应该打印Person.run还是Student.run? }}class Person原创 2021-01-10 15:58:37 · 88 阅读 · 1 评论 -
定义PrimaryStudent,从Student继承,并新增一个grade字段:
public class Main { public static void main(String[] args) { Person p = new Person("小明", 12); Student s = new Student("小红", 20, 99); // TODO: 定义PrimaryStudent,从Student继承,新增grade字段: class PrimaryStudent extends S原创 2021-01-04 15:24:21 · 756 阅读 · 0 评论 -
java待解决的问题:
class Person {//这个Personprotected String name;protected int age;public Person(String name, int age) {和这个Person 有何区别this.name = name;this.age = age;}原创 2021-01-04 15:22:26 · 85 阅读 · 0 评论 -
继承与组合
在使用继承时,我们要注意逻辑一致性。考察下面的Book类:class Book { protected String name; public String getName() {...} public void setName(String name) {...}}这个Book类也有name字段,那么,我们能不能让Student继承自Book呢?class Student extends Book {protected int score;}显然,从逻辑上讲,这是原创 2021-01-04 15:07:55 · 59 阅读 · 0 评论 -
阻止继承
从Java 15开始,允许使用sealed修饰class,并通过permits明确写出能够从该class继承的子类名称。例如,定义一个Shape类:public sealed class Shape permits Rect, Circle, Triangle { ...}上述Shape类就是一个sealed类,它只允许指定的3个类(Rect, Circle, Triangle)继承它。如果写:public final class Rect extends Shape {...}是没原创 2021-01-04 11:44:33 · 148 阅读 · 0 评论 -
关键字super
super关键字表示父类(超类)。子类引用父类的字段时,可以用super.fieldName。例如:public class Main { public static void main(String[] args) { Student s = new Student("Xiao Ming", 12, 89); }}class Person { protected String name; protected int age; public原创 2021-01-04 11:32:41 · 126 阅读 · 0 评论 -
this指针使用错误
// TODO: 给Person增加重载方法setName(String, String):public class Main { public static void main(String[] args) { Person ming = new Person(); Person hong = new Person(); ming.setName("Xiao Ming"); // TODO: 给Person增加重载方法setName原创 2020-12-30 16:52:02 · 280 阅读 · 0 评论 -
构造方法实例
public class Main { public static void main(String[] args) { Person p = new Person("Xiao Ming", 15);//实现在创建对象实例时就把内部字段全部初始化为合适的值。调用构造方法,必须用new操作符。 System.out.println(p.getName()); System.out.println(p.getAge()); }}class P原创 2020-12-30 16:12:27 · 486 阅读 · 5 评论 -
private方法
有public方法,自然就有private方法。和private字段一样,private方法不允许外部调用,那我们定义private方法有什么用?定义private方法的理由是内部方法是可以调用private方法的。例如:public class Main {public static void main(String[] args) {Person ming = new Person();ming.setBirth(2008);System.out.println(ming.getAge())原创 2020-12-28 16:18:27 · 1817 阅读 · 0 评论 -
定义一个类,并创建对象、实例。两个实例虽拥有的同一class定义的字段,但互不打扰
public class Main {public static void main(String[] args) {//主函数Person ming = new Person();//创建一个新的 对象ming.setName(“Xiao Ming”); // 调用函数setName 设置nameming.setAge(12); // 调用函数setAge 设置ageSystem.out.println(ming.getName() + ", " + ming.getAge());}}cl原创 2020-12-28 15:44:59 · 458 阅读 · 0 评论