java面向对象开发
文章平均质量分 82
oop
好喜欢吃红柚子
行到水穷处,坐看云起时
展开
-
2021-01-05 java-oop考前知识整理
类、对象,抽象类、封装、继承、多态、动态绑定,覆盖、重载,接口,异常处理、事件驱动编程Class:Class are constructs that define objects of the same type; Class contains {variables / constructor / method}Object:State and behaviourConstructorConstructors are a special kind of methods th..原创 2021-01-05 00:27:29 · 120 阅读 · 0 评论 -
24. 异常处理
异常 异常是错误对象,运行时异常 抛出异常:创建一个错误对象,把错误对象抛出 捕获异常:默认由JVM来把错误信息进行捕获,并打印出来,JVM会终止程序的执行 异常:编译型异常、编译型异常...原创 2020-10-03 21:21:37 · 288 阅读 · 0 评论 -
23. 面向对象总结
类与对象 -> 封装 构造 this,super 访问权限 public private default 继承 extends 多态 :同一个对象有多重形态,灵活,向上向下转型 抽象 abstract 接口 interface,多实现 内存简单分析:栈,堆,数据区,代码区 ...原创 2020-09-19 11:16:45 · 72 阅读 · 0 评论 -
22.参数传递问题
值传递:把变量的值作为参数进行传递引用传递:直接把变量作为参数进行传递java使用的是值传递1.值传递import javax.swing.*;import java.util.*;import java.awt.*;public class Test { public static void change(int a) { a=20; } public static void main(String args[]) { int a=10; chan...原创 2020-09-19 11:15:31 · 116 阅读 · 0 评论 -
21.instanceof 关键字
package practice.p1;public class Animal {}package practice.p1;public class Cat extends Animal{ public static void main(String args[]) { Animal ani = new Cat(); if(ani instanceof Cat) { //判断ani是否是猫 System.out.println("是猫,撸猫"); }...原创 2020-08-29 22:38:56 · 98 阅读 · 0 评论 -
20.toString方法
package practice.p1;public class Cat {//类默认继承了object String name; String color; public Cat(String name,String color) { this.name=name; this.color=color; } //子类对父类提供的方法不满意:重写 //快捷键:Source->Generate toString() @Override public Stri...原创 2020-08-29 22:37:58 · 151 阅读 · 0 评论 -
19.equals和==辨析
1.equals和==辨析package practice.p1;public class Cat { String name; String color; public Cat(String name,String color) { this.name=name; this.color=color; } public boolean equals(Cat c) { //重写equals方法,改成我们想要的判断逻辑 if(this.color=...原创 2020-08-29 22:14:12 · 101 阅读 · 0 评论 -
18.object
万事万物皆为对象,所有的东西都是对象在java中所有的类都要继承Object类Object是一个类,所有类的根我们自己写的类即使不写继承关系,也会默认继承Object类原创 2020-08-25 08:51:20 · 82 阅读 · 0 评论 -
17.成员变量初始值
package practice.p1;public class Test { public static void main(String args[]) { Person p = new Person(); System.out.println("byte="+p.b); System.out.println("short="+p.s); System.out.println("int="+p.i); System.out.println("float="+p.f); S.原创 2020-08-25 08:49:26 · 718 阅读 · 0 评论 -
练习3(抽象接口)
题目要求:类图:类名以 I 开头,一般为接口;虚线:实现;实线:继承;题目分析:方案一里两个子类的方法除了connect方法其他都是重复的,写两遍非常麻烦,所以方案二更简洁方案一:package practice3;public interface IDAO { void connect(); void add(); void del(); void upd(); void sel();}package practice3...原创 2020-08-08 21:31:07 · 179 阅读 · 0 评论 -
16.接口
概念: 接口是一种有特殊的抽象类,使用 interface 关键字声名 语法: public inerface 接口名{} 2.特点: 1. 接口中所有方法都是公开的抽象方法,public abstract void 方法(); 2. 接口中所有变量都是全局静态常量(默认public final修饰),全局通用,不能改变 3. 接口与类关系:实现关系 implements ...原创 2020-07-31 10:43:31 · 158 阅读 · 0 评论 -
15.抽象abstract
package practice.p1;public abstract class Animal { //若类中有抽象方法,则类也必须为抽象类 // 抽象方法由abstract关键字来修饰 public abstract void eat(); public abstract void sleep(); public void move() { //抽象类中可以有正常方法 System.out.println("The animal is moving"); ...原创 2020-08-01 21:46:11 · 135 阅读 · 0 评论 -
14.final关键字
package practice.p1;public class Diamond { //若在public后加了final,则Diamond类无法被修改和继承 final int weight = 27; public final void Blink() { //被final修饰的方法 System.out.println("The diamond is blinking."); } public static void main(String [] args) { .原创 2020-07-31 08:41:13 · 101 阅读 · 0 评论 -
1.类和对象
造车:1.画图纸1.定义车的属性信息2.定义车的动作:跑2.拿着图纸找工厂生产车面向对象的世界里类:图纸属性:这类事物拥有的共同属性动作:这类事物共同能执行的功能对象:实用类创建的具体某一个东西写代码类要用class定义属性:成员变量来描述,直接写在类中的变量动作,成员方法,不写static就是成员方法语法(创建对象)类 引用 = new 类()public class car {// 成员变量 S...原创 2020-07-30 10:01:20 · 102 阅读 · 0 评论 -
2. this关键字
this:当前类的对象作用:在方法内部获取到对象中的属性信息 区分局部变量和成员变量 还可以访问其他构造方法(重载)变量查找顺序:先找自己方法内的变量,若自己没有,就去this里面找public class car{ String color; int speed; int seat = 5; public void run(){```// 默认会有一个this:当前正在执行这个方法的对象 System.out.println("车能跑"); ..原创 2020-07-30 09:57:53 · 123 阅读 · 0 评论 -
3.构造方法
构造方法:在创建对象时自动调用方法语法:public 类名(){} 注意:没有返回值 在我们new一个对象时,java自动调用构造方法作用: 在创建对象时,给对象设置属性信息java默认自动赠送给每一个类一个无参数的构造方法,但是如果你自己写了构造方法,系统不会再赠送public class car{ String color; int speed; int seat = 5;// java会自动的赠送给每一个类一个无参数的构造方...原创 2020-07-30 09:54:42 · 108 阅读 · 0 评论 -
面向对象练习2
原创 2020-07-30 09:48:20 · 108 阅读 · 0 评论 -
4.构造方法重载
1. 重载:指不同的函数使用相同的函数名,但是函数的参数个数或者类型不同。调用的时候根据参数来区别不同函数2. 构造方法也是方法,也可以进行重载3.作用: 可以有更多的方式去创建对象4.使用this可以访问其他构造方法public class daxia{ String name; String waihao; int age; String bangpai; // 需要两个构造方法 public daxia(String name,int age,String ban.原创 2020-07-28 18:39:22 · 211 阅读 · 0 评论 -
5.面向对象练习
1.用面向对象的思想模拟LOL里的盖伦上线杀敌public class Hero { String name; String skillq; String skillw; public Hero(String name) { this.name=name; } public Hero(String name,String skillq,String skillw) { this(name); this.skillq=skillq; this.skillw=skil原创 2020-07-28 18:34:06 · 168 阅读 · 0 评论 -
6.static关键字
static:静态有多少人就要改多少次静态的内容在内存中保留一份,并且各个对象之间可以进行共享使用p1.country=“民国”会产生误导,故不推荐这样访问静态变量腿甲使用类名访问静态变量 Person.country = “民国”public class Person { String name; static String country = "大清"; //加了static,是共享的 String address; public Pe...原创 2020-07-28 18:31:09 · 116 阅读 · 0 评论 -
7.包和导包
1. 包:本质上是文件夹在代码中需要写package 包名导包语法:import 包名2. 不需要导包的情况在自己包里 java.lang包下的所有内容都不需要导入,系统自动导入package practice.p1; //包的声明,表示当前类从属于p1包下public class Test { }package practice.p2; //包的声明必须写在第一行import practice.p1.Test;//把p1包下的Test类导入到...原创 2020-07-28 18:17:21 · 89 阅读 · 0 评论 -
8.访问权限
public :公共的,所有人都可以访问 (不同包不同类都可以访问) default:包访问权限,仅限本包内访问 ( 少用 ) private:私有的(只能在本类访问)平时使用最多:private 和 publicpackage practice.p1; //包的声明,表示当前类从属于p1包下public class Person { public String pub = "public"; //公共的 private String pri = "private"; //私有的.原创 2020-07-28 18:13:41 · 68 阅读 · 0 评论 -
9.getter and setter
成员变量一般用private来声明,保护成员变量不被胡乱赋值setter : 主要是给成员变量赋值,做一定保护getter : 从成员变量里获取数据设置set 和 get 方法的快捷方式(eclipse)Sourse -> Genarate Setters and Getterspackage practice.p1; //包的声明,表示当前类从属于p1包下public class Person {//为了不让别人随便访问和改动变量,故加private关键词 pr.原创 2020-07-28 17:30:57 · 199 阅读 · 0 评论 -
10.继承
继承:子类可以自动拥有父类中除了带有内容外的其他全部内容当出现:x是一种y时,x可以继承ye.g.猫是一种动物语法:public class 子类名 extends 父类名{}作用:简化代码开发子类可以对父类进行扩展package practice.p1;public class Yaoguai { String name; public void eat() { System.out.println("妖怪会吃人"); } priva.原创 2020-07-28 17:21:46 · 67 阅读 · 0 评论 -
11.super关键字
1. super关键字代表父类中的内容2. this代表子类中的内容3. 可以用super和this区分父类和子类中重名的变量 重点!父类:public class Hero { String name="英雄"; public Hero(String name) { this.name = name; //父类构造方法传参 System.out.println("父类构造方法"); }}子类:public class Wukong exte.原创 2020-07-28 17:16:00 · 114 阅读 · 0 评论 -
12.重写
重写:子类对父类中提供的方法进行重新定义语法:子类和父类中提供的方法完全一致重写又被称为方法的覆盖public class Liyuan { public void makeCountry() { System.out.println("李渊想要建立国家"); }}public class Lishimin extends Liyuan{ // 方法的重写:子类中的方法必须和父类的方法完全一致 public void makeCountry() { /.原创 2020-07-28 17:08:26 · 75 阅读 · 0 评论 -
13.多态
多态:同一个对象拥有多种形态作用:把不同数据类型进行统一补充: 把子类对象赋值给父类变量: 向上转型 缺点:屏蔽掉子类中特有的方法 把父类变量转换回子类变量 :向下转型 (向下转型有可能有风险) java要求向下转型必须写强制类型转换 (转换之后的变量)变量 public class Animal { public void eat() { System.out.println("动物在吃"); }}public class Pers..原创 2020-07-28 17:03:30 · 94 阅读 · 1 评论