java学习笔记

1.形参长度可变的方法
在最后一个形参的类型后增加三点(...),但是一个方法最多只能有一个长度可以变化的形参。

public class TestDog {
 public static void test(int a,String...books) {
  for(String index:books){
   System.out.println(index);
  }
  System.out.println(a);
  
 }
 public static void main(String[] args) {
  test(10, "ak","fdf","fdfsdfsd");
 
 }
 
}
输出:
ak
fdf
fdfsdfsd
10

2.修饰符protect
如果某个类主要做其它类的父类,该类里包含的大部分方法可能仅希望被其子类重写,而不想被外界直接调用,则应该使用protected修饰这些方法。

3.构造器中使用this
package com;

import javax.security.auth.login.AppConfigurationEntry;

public class Apple {
 public String name;
 public String color;
 public String weight;

 // 第一个构造器
 public Apple() {
  
 }
 //两个参数的构造器
 public  Apple(String name,String color){
  this.name = name;
  this.color = color;
 }
 //三个参数的构造器
 public  Apple(String name,String color,String weight) {
  //通过this调用另一个重载的构造器的初始代码
  this(name,color);
  //下面this引用该构造器正在初始化的java对象
  this.weight = weight;
 }
}
程序中this(name,color)调用表明调用该类另一个有2个字符串参数的构造器。
使用this调用另一个重载的构造器只能在构造器中使用,而且必须作为构造器执行体的第一条语句。


4.多态
与方法不同的是,对象的属性则不具有多态性。
通过引用变量来访问其包含的实例属性时,系统总是试图访问它编译时的类所定义的属性,而不是它运行时类所定义的属性。

5.强制类型转换
引用类型之间的转换只能把一个父类变量转换成子类类型,如果两个没有任何继承关系的类型,则无法转换。
考虑到异常,转换之前应先通过instanceof 运算符来判断是否可以成功转换例如 :

6.基本类型和包装类
    除了Character之外的所有包装类都提供了一个parseXxx(String s)的静态方法,用于将一个特定字符串转换成基本类型变量;除此之外,在String类里也提供了多个重载valueOf()方法,用于将基本类型变量转换成字符串。值得注意的地方:还有一种更简单的方法将基本类型变量转换成字符串,将基本类型变量和""进行连接运算,系统会自动转换。


7.单例类(只能创建一个对象)
package com;

class Singleton {
 //使用一个变量来缓存曾经创建的实例
 private static Singleton instance;
 //将构造器用private修饰,隐藏构造器,是不能在外部类实例化对象
 private  Singleton() {
  
 }
 //提供一个静态方法,返回一个Singleton实例 只保证产生一个对象
 
 public static Singleton getInstance() {
  if(instance==null){
   instance = new Singleton();
  }
  return instance;
  
 }
}
public class TestSingleton{
 public static void main(String[] args) {
  //创建Singleton对象不能用构造器,只能通过getInstance方法
  Singleton s1 = Singleton.getInstance();
  Singleton s2 = Singleton.getInstance();
  //将输出true。
  System.out.println(s1==s2);
 }
}

8.final
对于引用类型的变量而言,他保存的仅仅是一个引用,final只保证这个引用的地址不会改变,即一直引用同一个对象,但这对象完全可以发生改变。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值