java中lookup函数怎么⽤,⼩⽩学习Java开发的第六⾄七天本节内容为昨天未讲完的内容
本节知识⼤纲:
构造器
构造器
在类中⽤来创建对象的那个⽅法称之为构造器或者构造函数或者构造⽅法
1:构造器是⼀个特殊的⽅法:
a:⽅法名称和类名相同
b:⽅法⽆返回值
c:在⽅法中⽆须显⽰的return返回数据
d:构造器是允许⽅法重载的
e:所有类默认情况下都会存在⼀个⽆参构造器,如果在当前类中显式的声明了构造器之后,⽆参构造器就 不存在了
2:构造器的作⽤就是⽤来创建对象的
构造器的调⽤只能通过new关键词去调⽤
当给⼀个类中的成员变量类型声明为基本数据类型之后,导致基本数据类型存在默认值。
未赋值的情况下存在值,后续的逻辑可能存在问题。
public class Student {
static int count = 1;
int id;
String name;
int gender;// 0 代表男 1代表⼥
String clz;
public Student() {
this("张三");
System.out.println("我被调⽤了。。。。");
//study();
}
public Student(String name) {
this.name = name;
}
public Student(String name,int gender) {
this(name,gender,count++,"0708");
}
public Student(String name,int gender,int id,String clz) {
this.name = name;
this.id = id;
this.clz = clz;
}
public void study() {
System.out.println(this.name+"day day up");
System.out.println(this.info());
}
public String info() {
return "Student[id:"+this.id+",name:"+this.name+""+ ",gender:"+(der==0?"男":"⼥")+",clz:"+this.clz+"]"; }
}
this的⽤法
this的⽤法:
this.
当前对象的-》 谁在调⽤ 代表谁
可省略:
不可省略:
区分同名变量,局部变量和成员变量
this()
构造器之间的互相调⽤
this():⼀定要在构造器的⾸⾏
public class Student {
static int count = 1;
int id;
String name;
int gender;// 0 代表男 1代表⼥
String clz;
public Student() {
this("张三");
System.out.println("我被调⽤了。。。。");
/
/study();
}
public Student(String name) {
this.name = name;
}
public Student(String name,int gender) {
this(name,gender,count++,"0708");
}
public Student(String name,int gender,int id,String clz) { this.name = name;
this.id = id;
this.clz = clz;
}
public void study() {
System.out.println(this.name+"day day up");
System.out.println(this.info());
}
public String info() {
return "Student[id:"+this.id+",name:"+this.name+""
+ ",gender:"+(der==0?"男":"⼥")+",clz:"+this.clz+"]"; }
}
public class Test01 {
public static void main(String[] args) {
//创建⼀个Student对象 通过带参构造器
/*
* Student stu = new Student("lisi");
*
* stu.study();
*
*
* Student stu1 = new Student("王⼆⿇⼦"); stu1.study();
*/
Student s1 = new Student("张三",0);
System.out.println(s1.info());
Student s2 = new Student("lisi",0);
System.out.println(s2.info());
}
}
引⽤类型讲过⽅法
基本数据类型经过⽅法之后 其值不变。值传递
引⽤数据类型进过⽅法之后 其值会变,值传递(地址值)
通过两个变量指向了同⼀个内存地址,⼀个对内存进⾏改变 另⼀个可见public class Test02 {
public static void main(String[] args) {
int num = 10;
change(num);
System.out.println("main:"+num);
//声明⼀个dog对象
Dog d = new Dog();
d.name = "张⼆狗";
System.out.println(d.info());
change(d);
System.out.println("main:"+d.info());
}
public static void change(int num) {
num++;
System.out.println("change:"+num);
}
public static void change(Dog dog) {
dog.name = "旺财";
System.out.println("change:"+dog.info());
}
}
class Dog{
String name;
String color;
public Dog() {
}
public void run() {
System.out.println("run。。。。。");
}
public String info() {
return "name:"+this.name+",color"+lor;
}
}
继承
继承的优势:
在⼀定程度上提⾼了代码的复⽤性
继承编写:
⼦类 extends ⽗类 ⼦类拥有⽗类中的所有的属性以及⽅法
什么是继承: ⼦承⽗业,
将多个类中的共性再⼀次抽取,可以抽取为⼀个⽗类。⽗类的作⽤就是⽤来将⼀些重复的内容不再多次编写(提⾼代码复⽤性)
注意事项:
java中只⽀持单继承 ⼀个⼦类有且只能有⼀个⽗类 复⽤性的提⾼是有限的
多继承好还是单继承好
多继承 :极⼤提⾼代码复⽤性 但是代码调⽤的复杂度也提升了
单继承:代码调⽤的复杂度⽐较低,但是复⽤性⽐较有限
假设在应⽤场景中:
A->B 后期随着业务不断扩展,导致A需要继承C时⼀般的解决办法:A->B->C,但是该种解决办法随着后期业务的不断升级,导致整个继承连会变得极其复杂,既不利于后期维护以及拓展。
所以能不能⽤继承就别⽤继承。
public class Person {
String name;
int age;
int gender;
public Person() {
}
>lookup函数返回值不对

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。