课前回顾:
1.可变参数:
a.格式: 数据类型…变量名
b.注意:
参数列表中只能有一个可变参数,而且需要放到最后
c.本质:数组
2.递归:方法内部自己调用自己
a.注意:必须要有出口,而且不要递归太多次
3.冒泡排序:相邻两个元素进行比较,互换位置
4.二分查找:每次查找都取中间索引,然后找不到,下次就要干掉一半
a.前提:数组是升序的
5.对象数组:存的是对象,取出来的还是对象
6.基本类型做方法参数传递:传递的是值,不是变量本身
引用类型做方法参数传递:传递的是地址值
类+对象,成员变量和局部变量
匿名对象
//原始方式new对象 -> 有名对象
Person p1 = new Person();
p1.name = "张三";
System.out.println(p1.name);
p1.eat();
//匿名对象
new Person().eat();
new Person().name = "李四";
System.out.println(new Person().name);
内存
以下是老师课件中画的图:



成员变量和局部变量
public class Person {
//成员变量
String name;
public void eat() {
System.out.println(name);
//局部变量
int i = 10;
System.out.println(i);
}
public void show() {
System.out.println(name);
//System.out.println(i);i是eat方法中定义的,只作用于eat方法
}
}
封装
用private写,通常提供set..和get..对外界提供公共接口.
this的作用:代表的是当前对象(哪个对象调用的this所在的那个方法,this就代表哪个对象),可以区分重名的成员变量和局部变量 ->this.后面的就是成员的
this的使用:
//就是this.name代表String name的值,后边的name代表speak里的值
public class Person {
String name;
public void speak(String name){
System.out.println(this+"……………");
System.out.println(this.name+"您好,我是"+name);
}
}
public class Test01 {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person+"…");
person.name = "哪吒";
person.speak("李靖");
System.out.println("================");
Person person2 = new Person();
System.out.println(person2+"…");
person2.name = "沉香";
person2.speak("刘彦昌");
}
}

构造方法
空参构造
1.格式:
public 类名(){
}
2.作用:
new对象,初始化对象的属性
3.特点:
每个类中都默认有一个无参构造,即使不写,jvm也会默认提供一个
有参构造
1.格式:
public 类名(形参){
为属性赋值
}
2.作用:
a.new对象
b.为属性赋值
3.注意:
如果写了有参构造,jvm将不再提供无参构造,所以建议无参的,有参的构造都写出来
标准javabeen
public class Student {
private int sid;
private String name;
public Student() {
}
public Student(int sid, String name) {
this.sid = sid;
this.name = name;
}
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
static使用
1.概述:static是静态关键字
2.可以修饰一个方法,修饰一个成员变量
a.修饰方法: 权限修饰符 static 返回值类型 方法名(形参){
方法体
return 结果
}
b.修饰一个成员变量:
权限修饰符 static 数据类型 变量名
3.static关键字的特点:
a.静态成员属于类成员,不属于对象成员,非静态成员属于对象成员
b.静态成员会随着类的加载而加载
c.静态成员优先于对象存在
d.凡是根据static关键字所在的类创建出来的对象,都可以共享这个静态成员
4.调用:
类名直接调用
继承
示例代码
格式: 子类 extends 父类
package com.atguigu.e_super;
public class Fu {
public int num = 100;
public Fu(){
super();
System.out.println("父类无参构造方法…");
}
public Fu(int num)
{
super();
System.out.println("父类有参构造方法…");
}
public void show()
{
System.out.println("父类方法…");
}
}
package com.atguigu.e_super;
public class Zi {
public int num = 10;
public Zi(){
//this(10);
super();
System.out.println("子类无参构造方法…");
}
public Zi(int num)
{
this();
//super(num);
System.out.println("子类有参构造方法…");
}
// @Override
public void show() {
int num = 20;
System.out.println("子类方法…");
System.out.println(num);//10
System.out.println(this.num);
}
}
package com.atguigu.e_super;
public class Test01 {
public static void main(String[] args) {
Zi z = new Zi();
z.show();
System.out.println("—————————");
Zi z2 = new Zi();
z2.show();
}
}

比较简单,不过多赘述
方法的重写
在子类中对父类中的方法进行升级改造

this和super
1.调用父类构造:只能在子类的构造中使用
super():调用父类无参构造
super(实参):调用父类有参构造
2.调用父类成员变量:
super.成员变量名
3.调用父类方法
super.方法名()
1.调用当前对象的构造:在本类的构造中使用
this() 调用本类无参构造
this(实参) 调用本类的有参构造
2.调用当前对象的成员变量
this.成员变量名
3.调用当前对象的方法
this.方法名()
上述代码有二者的示例.
网硕互联帮助中心


评论前必须登录!
注册