类和对象(一)
2015-07-25 10:37
435 查看
1.类是对象的抽象,对象是类的实例,类中只包含属性和方法,属性尽量用名词,首字母小写;方法尽量动宾短语,首字母小写。
2.类的属性(全局变量)(成员变量)–可不赋初值
访问修饰符 类型 属性名(public int age)
可修饰属性和方法,不写的话默认为default
3.方法 访问修饰符 [其他修饰符static final……] 返回值类型 方法名称(参数1,参数2,……){
} 除类的属性外,即非全局变量必须赋初值
4.高内聚低耦合
5.方法中有返回值必须用return,方法执行到return自动结束(分支语句除外),即使return下边还有语句也不执行且报错。return返回值只可以有一个。
6.方法之间可相互调用,但不能嵌套定义。
7.基本数据类型传值,引用数据类型传地址,注意封装类。
封装类方法测试
false true false true true false
8.可变参数 jre1.5
9.方法内定义一个变量,和全局变量名重复,则调用该变量时以方法内定义的为准。
10.JAVA中类的继承是单继承,一个类只能继承一个父类,一个父类可以有多个子类,继承用extends。
11.对象初始化顺序,父类属性–父类构造器–子类属性–子类构造器
12.方法重载 同类中方法名相同,参数不同,返回值类型无关
方法重写 子类重写父类的方法 方法名、参数、返回值类型必须与父类相同,访问修饰符不能比父类更严格。
13.super
a调用父类的方法super.run(); b调用父类的属性 super.age;
c子类构造器默认调用父类无参构造器即super(); super()可写可不写,写的话必须写在第一行。
d在子类构造器中第一行加入super(“”);(括号内有参数),可调用父类有参构造器,不可省略。
14.this 调用使用它的对象的方法或者属性
a调用使用它的对象的方法或属性 this.age this.run();
b调用本类的另一个构造器
15.DecimalFormat格式化十进制数字,还可表示百分数等。
16.Math类:log(double a)即lna log10(double a)即lga
sqrt()取平方根,cbrt取立方根,pow(a,b) a的b次方
ceil()大于或等于参数的整数 floor()小于或等于参数的整数
rint()最接近参数的整数(.5的取欧整数)
round()加0.5后取最接近的整数(小数大于的5整数+1,小于五的整数-1) abs()取绝对值 math.random() 默认取0.0(含)-1.0(不含)
BigInteger 大整数 BigDecimal 大小数
17. 只有属性和set、get方法的类一般叫JavaBean
18. main函数中String[] args可传参,从run as–run configurations中Arguments中设置参数
2.类的属性(全局变量)(成员变量)–可不赋初值
访问修饰符 类型 属性名(public int age)
可修饰属性和方法,不写的话默认为default
3.方法 访问修饰符 [其他修饰符static final……] 返回值类型 方法名称(参数1,参数2,……){
} 除类的属性外,即非全局变量必须赋初值
4.高内聚低耦合
5.方法中有返回值必须用return,方法执行到return自动结束(分支语句除外),即使return下边还有语句也不执行且报错。return返回值只可以有一个。
6.方法之间可相互调用,但不能嵌套定义。
7.基本数据类型传值,引用数据类型传地址,注意封装类。
封装类方法测试
public static void main(String[] args) { //封装类Integer 引用数据类型 拆箱装箱 Integer i=new Integer(10); Integer j=new Integer(10); System.out.println(i==j); System.out.println(i.equals(j)); //自动拆箱装箱 Integer k=10; //自动装箱,等价于Integer k=new Integer(10); System.out.println(j==k); int h=new Integer(10); //自动拆箱,等价于int h=10; int g=new Integer(10); System.out.println(h==g); System.out.println(k==h);//k自动拆包后与h比较 Boolean b1=new Boolean(true); Boolean b2=new Boolean(true); System.out.println(b1==b2); }
false true false true true false
8.可变参数 jre1.5
public void readBook(String... book){ for (int i = 0; i < book.length; i++) { System.out.println("阅读了"+book); }//可变参数,在Jre1.5中可以,当初数组来处理 } //在main中创建一个对象t1 t1.readBook("西游记","三国")
9.方法内定义一个变量,和全局变量名重复,则调用该变量时以方法内定义的为准。
10.JAVA中类的继承是单继承,一个类只能继承一个父类,一个父类可以有多个子类,继承用extends。
11.对象初始化顺序,父类属性–父类构造器–子类属性–子类构造器
12.方法重载 同类中方法名相同,参数不同,返回值类型无关
方法重写 子类重写父类的方法 方法名、参数、返回值类型必须与父类相同,访问修饰符不能比父类更严格。
13.super
a调用父类的方法super.run(); b调用父类的属性 super.age;
c子类构造器默认调用父类无参构造器即super(); super()可写可不写,写的话必须写在第一行。
d在子类构造器中第一行加入super(“”);(括号内有参数),可调用父类有参构造器,不可省略。
public class Bus extends Car{ public int passengerNumber; public String busBrand=super.brand; //super调用父类的属性 public Bus(){ super();//调用父类无参构造器,可写可不写 System.out.println("调用bus无参构造器"); } public Bus(int passengerNumber){ super(5);//调用父类有参构造器,必须写 System.out.println("调用bus有参构造器"+passengerNumber); } public void run(){//方法重写 方法名、参数名、返回值类型必须一样 子类重写父类 super.run(); //super调用父类的方法 } public void getMoney(){ System.out.println("上车投币"+passengerNumber); } }
14.this 调用使用它的对象的方法或者属性
a调用使用它的对象的方法或属性 this.age this.run();
b调用本类的另一个构造器
public class Texi extends Car{ public int id; public int getId() { return id; } public void setId(int id) { this.id = id; //调用该方法的对象的属性 } public Texi(){ //先调用父类无参构造器super(); this(1); //调用本类中另一个构造器,注意参数 } public Texi(int id){//默认调用父类无参构造器super(); this.id=id; this.run(); //调用该方法对象的方法 } public void run(){ System.out.println("Texi正在运行"); } }
15.DecimalFormat格式化十进制数字,还可表示百分数等。
16.Math类:log(double a)即lna log10(double a)即lga
sqrt()取平方根,cbrt取立方根,pow(a,b) a的b次方
ceil()大于或等于参数的整数 floor()小于或等于参数的整数
rint()最接近参数的整数(.5的取欧整数)
round()加0.5后取最接近的整数(小数大于的5整数+1,小于五的整数-1) abs()取绝对值 math.random() 默认取0.0(含)-1.0(不含)
BigInteger 大整数 BigDecimal 大小数
17. 只有属性和set、get方法的类一般叫JavaBean
18. main函数中String[] args可传参,从run as–run configurations中Arguments中设置参数
相关文章推荐
- Activity的四种启动模式和onNewIntent()
- 【iOS】ARC-MRC下的单例及其应用
- 配置使用web方式修改域用户帐户密码
- 在WebView中加载HTML页面时显示进度对话框的方法
- bzoj3992: [SDOI2015]序列统计
- 搭建JSP环境变量
- GTK入门学习:布局容器之水平布局
- Anagrams
- Android工程图片资源命名禁忌
- Java IO学习【7】BufferedReader的学习-readLine原理
- exchange服务器上设置邮件附件大小
- Eclipse中自动添加注释(作者,时间)
- web 项目中css文件读取不到
- Autorelease原理解析
- Android开发将Eclipse默认签名修改为真实签名
- OWA里显示更改密码的选项
- Android开发学习笔记十四 异步线程之Handler
- OC_类和对象
- Java学习笔记(一)
- Android开发学习笔记十四 异步线程之AsyncTask