理解JAVA - 面向对象(object) - 属性,方法 多态的体现:    向上造型,父类接收子类对象:向上造型:    从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都在多态:    这个人是谁,这是个人,多态来看待他了:    他是老师  把它向下造型来看待了,他是老师,知道他能讲课了,老师是人下面的子类型:我们每天都已多态来接收事物,然后向下造型:    这是人,这人是老师:    这是车,这车是奥迪小时候,不知到是什么,就问这是什么东西,世间万物都能成为东西…
方法的调用 静态方法 非静态方法 形参和实参 值传递和引用传递 this关键字(继承篇讲解) 静态方法 非静态方法 形参和实参 package oop.demo01; public class Demo03 { public static void main(String[] args) { //因为add不是static,需要实例化类调用 //实参 int add = new Demo03().add(1,2); System.out.println(add); //实参 int ajj =…
面向对象 概念:     1.同一类事物的抽象描述,不是具体的    2.类和对象的关系:        类 是抽象的.        对象 是具体的.    3.对象的体征,称为"属性"    4.多个 对象的方法 + 属性 相同 构成一类6-2 类的编写构成.语法:     [修饰符] class 类名 {    ...    }    注意:             1.修饰符可有可无,如果写,类名和文件名必须相同.        2.类名驼峰命名法.类的属性-即 成员变量.  …
方法的定义 修饰符 返回类型 break:跳出switch,结束循环和return的区别 方法名:注意规范,见名知意 参数列表:(参数类型,参数名) 异常抛出 package oop.demo01; import java.io.IOException; //Demo01类 public class Demo01 { //main方法 public static void main(String[] args) { } /* 修饰符 方法值类型 方法名(...){ //方法体 return 返回…
在程序中,如果想声明一个类继承另一个类,需要使用extends关键字. 格式: class 子类 extends 父类 {} 继承的好处 1.继承的出现提高了代码的复用性,提高软件开发效率. 2.继承的出现让类与类之间产生了关系,提供了多态的前提. 在继承中需要注意的问题 1.在Java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个直接父类,例如下面这种情况是不合法的. class A{} class B{} class C extends A,B{}  // C类不可以同时继承A类…
为什么需要重写? 父类的功能,子类不一定需要,或者不一定满足 场景一 重写都是方法的重写,和属性无关 父类的引用指向了子类 用B类新建了A类的对象,把A赋值给了B,这时候B是A,A又继承了B类,向上转型.所以调用B类方法的时候,也就是B=>test 定义的是static,new一个对象时,左边引用的类是哪个就用的哪个类下面的方法 package oop.demo05; //重写都是方法的重写,和属性无关 public class B { public static void test(){ Sy…
类的方法 无参方法 语法: public 返回值类型 方法名(参数列表){ //方法的主体 } 敲一敲:无返回值方法 public void sayHi(){ System.out.println("你好"); } 没有返回值返回值类型为 void ,上例中是无返回值.如果方法中有返回值,方法中必须使用关键之 return 返回该值,返回值类型为该返回值的类型. 敲一敲:有返回值方法 public class Student { String name; int age; /** *…
场景一:静态变量 package oop.demo07; public class Student { private static int age;//静态的变量 一般多线程用的比较多 private double score;//非静态变量 public static void main(String[] args) { Student s1 = new Student(); System.out.println(Student.age); //static静态变量,可以通过类直接调用 Sy…
2014-02-26 09:56:45 声明:本文不仅是本人自己的成果,有些东西取自网上各位大神的思想,虽不能一一列出,但在此一并感谢! 工厂方法模式分为三种: 1. 普通工厂模式 建立一个工厂类,对实现了同一接口的一些类进行实例的创建,如下图: 代码示例如下: public interface Sender { public void send(); } class MailSender implements Sender { @Override public void send() { Sy…
为了支持业务的快速变更,往往采用可配置的方式,将业务逻辑的处理部分配置在数据库中或者XMl文件里.配置什么,如何配置才更灵活,That's a problem. 以数据库配置为例(xml相同),在数据库中可以配置上java包名+类名,一个类只处理一个功能(符合设计模式中的单一性原则),这样只需要把数据库中的类名读出来,Class.forname("xxxx").newInstance()即可实现,这种方式简单,但会产生大量.java文件,管理一下还是挺麻烦的,并且每个.java文件处理…