1:方法
静态方法:eg:public static void show(){}
成员方法: eg:public void show(){}
构造方法:eg:
无参数构造
访问修饰符 类名(){}
有参构造
访问修饰符 类名(String name,int age){
this.name = name
this.age = age
}
构造方法 :在自己创建对象的时候,系统会
帮我调用相应的构造方法
构造方法:如果没有手动给出构造方法
系统会默认给出空参构造
数组:存储一组相同数据类型的集合
数组中可以放基本数据类型和引用数据类型
int [] arr = new int[10];
int [] arr = {1,2,3};
放对象:
Student s = new Student()
eg:
Student [] arr = new Student[10];
arr[0] = s;
eg:Student [] arr ={s,s2,s3};
-------面向对象-----
面向对象基于面向过程
类和对象
类是:一组相同属性和行为的集合
class Student{}
对象:是该类的具体表现
标准类的写法
成员变量:
成员方法:
构造方法:
----
成员变量和局部变量的区别
1: 成员变量有默认值,
局部变量必须赋值后才能使用
2: 成员变量整个类中都能访问,
局部变量只能在它所在的方法里{}
3: 成员变量堆内存中,
局部变量栈内存
--java面向对象的特性:
1:封装
2:继承
3:多态
封装思想:隐藏部分实现细节之对外公开
方法,让外部使用
使用private关键字来实现:
private 是私有的
修饰 成员变量 成员方法
被private修饰的内容只能在本类访问
eg:private String name;
public void setName(String name){
this.name =name;
}
public String getName(){
return name;
}
this: 本类对象
标准类的写法
private成员变量:
getXxx() setXxx()
成员方法:
构造方法:
============
只有对象才可以.属性
对象.方法()
创建对象
匿名对象
new 类名().属性
new 类名().属性
类名 对象名 = new 类名()
---今天内容
static 关键字
可以修饰成员变量 和成员方法
继承:
学生类{}
工人类{}
医生类{}
希望可以把一个类中相同的成员
定义在一个单独的类中,二其他的多个类
只要和这单独的类产生某种关系,就可以
用用单独类中的成员
这其实就是继承
继承关键字: extends
格式:
class Fu{}
class Zi extends Fu{}
继承特点:
1:子类只能访问父类中非私有的成员
2:子类可以定义自己特有的功能
3: 单继承多层继承 (单亲体系)
继承中 子类访问变量的时候 就近原则
如果子类自己没有 就会去父类的成员找
如果找不到 就报错
-----访问修饰符:
中protected 和默认的 区别在
不同包的子类
继承中的方法重写 方法覆盖
* 子类中存在和父类定义完全一样的方法
*****面试题:
方法重写和方法重载
构造方法不能继承但是可以访问
在创建子类对象的时候默认访问的是
父类无参构造方法
访问的话需要使用一个super
super 父类的对象
this 本类对象
---回顾
继承可以继承父类成员
特点: 单继承 多层继承
子类访问成变量, 就近原则
方法重写:
构造方法:不能继承
但是可以访问 super
super.变量
super.方法( 参数)
super(参数)
标准类继承
私有成员变量 成员方法 构造方法
测试
使用不带参数创建对象和带参数的
练习到:14:00
== 判断相等
* 1:基本数据类型 判断值是否相等
* 2:引用数据类型 判断地址值是否相等
* equals:
* 在object类 比较的是地址值是否相同
* String 类里重写了equals 所以比较的是内容是否相等
final 最终的
修饰 public final void show() {
System.out.println("重要文件 千万不能删除");
}
修饰 类 final class Fu
修饰变量 final int i = 10;
=======总结==========
1:继承
把多个类中相同的成员定义在一个单独的
类里, 其他的类只要继承这单独的类
就可以拥有单独类里的成员
继承关键字:extends
格式:
class 子类名 extends 父类名{}
继承特点:
1:子类只能访问父类中非私有的成员
2:子类可以定义自己特有的功能
3: 单继承多层继承
继承和成员变量的关系:
子类在访问成员变量的时候:
先在子类局部找
再在子类成员找
最后在父类成员位置找
继承和成员变方法的关系:
子类中和父类定义完全相同的方法,
方法覆盖 或方法重写
继承和构造法的关系:
1:不能继承父类构造
2:可以访问 使用super访问
super关键字:
super :父类的对象
访问父类变量 : super.变量
访问父类方法 : super.方法([参数])
访问父类构造 : super([参数])
final 最终的
1:类
2:方法
3:变量 变量就是常量
可变参数 其实是数组
== 判断相等
1:基本数据类型 判断值是否相等
2:引用数据类型 判断地址值是否相等
equals:
在object类 比较的是地址值是否相同
String 类里重写了equals 所以比较的是内容
2:多态:
父类的引用指向子类对象