简单来说就是以类的方式组织代码,以对象组织封装数据
三大特性:继承 封装 多态 (抽象)
break和return的区别
break:跳出switch结束循环
return:结束方法,返回一个结果
方法名要 注意规范 (见明知意)
类是一种抽象的数据类型, 它是对某一类事物整体描述定义,但是并不能代表一个 具体的事物
一个类 包含 属性字段 和 方法
public class Student{ String name; int age; //方法 public void study{ System.out.println(this.name+"在学习0"); }
使用new关键字创建对象 的时候除了分配内存空间之外还会给创建好的对象进行默认的初始化以及对类中构造器的调用。
public static void main(String[] args){ //类:抽象的,实例化 //类实例化后会返回一个自己的对象 //student对象就是一个Student类的具体实例 //调用上面的类 Student xioming = new Student(); Student xiaohong = new Student(); xiaoming.name = "小明"; xiaoming.age = 5; System.out.println(xiaoming.name+"今年"+xiaoming.age+"岁了"); xiaohong.name = "小红"; xiaohong.age = 6; System.out.println(xiaohong.name+"今年"+xiaohong.age+"岁了"); }
构造器
类中的构造器也成为构造方法,是在进行创建对象的时候必须要调用的并且构造器有两个特点
必须和类的名字相同
必须没有返回值类型 也不用写void
public class a { //一个类即使什么都不屑,它也会存在一个方法 int age; //构造方法 //方法名相同 //方法没有返回值 并且没有void //使用new关键子本质是在调用构造器 //构造器用来初始化值 public a { } //有参构造 //重载 public a(int age) this.age = age; }1.类与对象
类是一个模板:抽象,对象是一个具体的实例
2.方法定义和调用
对应的引用
3.引用类型:除了八大基本类型外其余都是引用类型、对象是通过引用来 *** 作的:栈-----》堆
4.对象的创建和使用必须使用new关键字创造对象。构造器 例如 a a = nwe a ();
对象的属性 a.属性名
对象的方法 a.方法名()
5.类静态的属性 属性
动态的行为 方法
6.封装主要就是 该露的露 该藏的藏
程序设计追求 高内聚低耦合 高内聚就是类的内部数据 *** 作细节自己完成不许外部干涉 低耦合 仅暴露少量的方法给外部使用
封装就是隐藏数据 通常应禁止直接访问一个对象中数据的实际表示而应通过 *** 作接口来访问成为信息隐藏
一般属性私有化使用private关键字
//例如 //属性私有不可被别的方法直接使用 public class a{ private String name; private char sex; //可以借助get set 方法使用 public String getName(){ return this.name; } public void setName(String name){ return this.name } } //调用 public static void main(String[] args){ a a = new a(); a.getName(); //获取name a.setName("SCX")//设置neme }
提高程序的安全性 保护数据
隐藏代码实现细节
统一接口
系统可维护性增高
继承继承事通过关键字 enxtends来实现的
Java中类只有单继承,没有多继承
继承关系的两个类一个为子类一个为弗雷 子类继承父类使用关键字extends来表示。
//例如 //a是一个学生类 b 是一个人类 所以a属于b中 public class a extends b{ //在a 继承b之后就可以使用b里面所有的属性和方法 }
super关键字
super关键字可以调用父类的属性但是私有的无法被继承所以也无法被直接调用
super调用父类的构造方法,必须在构造方法的第一个
super必须只能出现在子类的方法或者构造方法中
super和this不能同时调用构造方法
this关键字
代表的对象不同
this:本身调用这个对象
super代表父类对象应用
this没有继承也可以使用
super只能在继承条件下才能使用
构造方法
this()本类的构造
super()父类的构造
方法重写@Override
重写前提要有继承关系 子类重写父类的方法
1.方法名必须相同
2.参数列表必须相同
3.修饰符可以扩大但是不能缩小 public >Protected>Default>private
父类的功能子类不一定满足所以要重写子类重写了父类的方法会执行子类的方法
多态多态就是同意方法可以根据发送对象不同而采取多种不同的行为方式 就是一种事物的多种形态
一个对象的实际类型是确定的但可以指向4兑现的引用的类型有很多
多态的条件
有继承关系
子类重写父类
父类引用子类
多态是方法的多态属性没有多态
子类能调用的方法都是自己或者继承父类的
父类可以指向子类但是不能调用子类独有的方法
a 是子类 b是父类 //父类指向子类 b b =new a();
对象能执行那些方法主要看对象左边的类型
如果子类重写了父类的方法会执行子类的方法
1.多态是方法的多态 属性没有多态
2.父类和子类要有联系不然会类型转换异常 ClassCastException
3.存在条件 继承关系 方法需要重写 父类引用指向子类对象 father a1 = new son();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)