Java 面向对象的基础知识,你确定不了解一下吗?

什么是面向对象?

面向对象是把问题按照一定规则划分为独立的对象,通过调用对象解决问题;面向对象的特点有封装性,继承性和多态性。

目录

​​​​​​

1.类与对象

类是具有共同特征的某类事物的抽象,对象是具体的事物;

1.类的定义

class 类名{

成员变量;

成员方法;

}

2.创建对象及使用方法

类名 对象名=new 类名();

对象名.成员方法();

3.封装性

封装的目的是保护内部数据信息,快速访问;

public class teachers {
 private String name;
 private String id;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public String getId() {
	return id;
}
public void setId(String id) {
	this.id = id;
}
}

4.访问权限

访问范围

privatre

default

protected

public

同一类

yes

yes

yes

yes

同包不同类

yes

yes

yes

不同包子类

yes

yes

全局

yes

5.构造方法

a.名称与类名相同;

b.无返回值类型声明,且无返回值;

class Rectangle{
 private int width,length;
	public  Rectangle(int width,int length) {
		this.width=width;
		this.length=length;
	}
}

c.重载

方法名相同,成员变量不同

class Rectangle{
 private int width,length;
public  Rectangle(int width) {
		this.width=width;
	}
	public  Rectangle(int width,int length) {
		this.width=width;
		this.length=length;
	}
}

6.this关键字

成员变量与局部变量重名;

7.static关键字

静态属性或全局属性,通过类名直接访问;

例题:

B1–股票类(封装)返回

(时间限制:1000ms 内存限制:65536KB)

描述统计

设计一个名为Stock的类。这个类包括(不限于以下数据和方法):

一个名为symbol的字符串数据域表示股票代码;

一个名为name的字符串数据域表示股票名字;

一个名为previousClosingPrice的double类型数据域存储前一日的股票值;

一个名为currentPrice的double类型数据域,存储当前的股票值;

创建一支有特定代码和名字的股票构造方法;

一个名为getChange()的方法返回从previousClosingPrice到currentPrice值的变化(
currentPrice-previousClosingPrice大于零返回1,小于零返回-1,等于零返回0)。

根据输入数据(以逗号分隔)创建一个Stock对象,输出股票基本信息和股票值的变化。

!!!注意:输入输出部分尽量直接拷贝参考代码后修改进行,以免因为符号不一致造成错误。

输入

输入一个股票的信息,以英文逗号为分隔(symbol,name,currentPrice,previousClosingPrice)

输入语句示例:

Scanner s=new Scanner(System.in);

String infomation=s.nextLine();

String[] info=infomation.split(“,”);

Stock stock=new Stock(info[0],info[1]);

float current=(Float.parseFloat(info[2]));

float previous=(Float.parseFloat(info[3]));

输出

根据股票涨跌,输出股票相关信息,具体如下–

输出内容:

System.out.print(“股票代号:”+stock.getSymbol());

System.out.print(“;股票名称:”+stock.getName());

System.out.print(“;当前价格:”+stock.getCurrentPrice());

if (stock.getChange()==1)

System.out.print(“;涨/跌:涨”);

else if(stock.getChange()==-1)

System.out.print(“;涨/跌:跌”);

else

System.out.print(“;涨/跌:平”);

难度

一般

输入示例

2019001,Java,3.5,3.45

输出示例

股票代号:2019001;股票名称:Java;当前价格:3.5;涨/跌:涨

import java.util.Scanner;
public class B1股票类封装 {
    public static void main(String[] args) {
    String symbol,name;
    Scanner s=new Scanner(System.in);
    String infomation=s.nextLine();
    String[] info=infomation.split(",");
    Stock stock=new Stock(info[0],info[1]);
    float current=(Float.parseFloat(info[2]));
    float previous=(Float.parseFloat(info[3]));
    System.out.print("股票代号:"+stock.getSymbol());
    System.out.print(";股票名称:"+stock.getName());
    System.out.print(";当前价格:"+stock.getCurrentPrice(current));
    if (stock.getChange(current,previous)>0)
    System.out.print(";涨/跌:涨");
    else if(stock.getChange(current,previous)<0)
    System.out.print(";涨/跌:跌");
    else
    System.out.print(";涨/跌:平");
    }
}
class Stock{
     String symbol,name;
     float CurrentPrice,y;
     public  Stock(String symbol,String name) {
         this.symbol=symbol;
         this.name=name;
     }
     public String getSymbol() {
         return symbol;
     }
     public void setSymbol(String symbol) {
         this.symbol=symbol;
     }
     public String getName() {
         return name;
     }
     public void setName(String name) {
         this.name=name;
     }
     public void setCurrentPrice(float CurrentPrice) {
            this.CurrentPrice=CurrentPrice;
        }
     public float getCurrentPrice(float CurrentPrice) {
        return CurrentPrice; 
     }
     public float getY() {
         return y;
     }
     public void setY(float y) {
         this.y=y;
     }
     public float getChange(float CurrentPrice,float y) {
         return CurrentPrice-y;
     }
}

2.继承

类似之间有重复部分,继承可以避免重复写代码;

public class 子类名 extends 父类名{

}

注:a.Java中类只能单继承,即一个子类只能有一个父类;

b.一个父类可以有多少个子类;

c.多层继承,相当于爷爷,爸爸,孙子 ;

1.覆盖方法(方法重写)

子类继承父类中方法,子类可以对方法进行修改;

class A {
public void ss(){
System.out.println("c/c++");
}
}
class B extends A{
public void ss(){
System.out.println("java");
}
}

注:子类只能访问父类中的非私有方法,且无法对方法的访问权限作出修改;

2.final关键字

阻止继承

a.阻止类再被继承

public final class B extends A{
.......
}//B将无法再被扩展

b. 阻止方法覆盖

class A{
......
public final String getName(){
return name;
}
......
}//子类将无法对getName重写

例题:

B2–三角形(继承)

(时间限制:1000ms 内存限制:65536KB)

描述统计

设计一个三角形Triangle类,其属性包含String类型的名字、三个float类型的边长。一个判断是否为三角形的isTriangle方法,以及重写的toString方法输出三角形的三条边长。

设计三角形类的子类RightTriangle(直角三角形),实现一个计算周长的方法getPerimeter和计算面积的方法getArea。

测试根据输入三角形的基本信息(三条边),判定输入是否为三角形,如果是则输出其三条边长;判断此三角形是否为直角三角形,如果是则输出其周长和面积。

!!!注意:输入输出部分尽量直接拷贝参考代码后修改进行,以免因为符号不一致造成错误。

输入

字符串,包括三角形的三条边长。输入部分代码参考:

Scanner s=new Scanner(System.in);

//输入时格式为”边a,边b,边c”–直角三角形边a、b分别为两个直角边,边c为斜边

String trangleOne=s.nextLine();

String[] ones=trangleOne.split(“,”);

float sidea,sideb,sidec;

sidea=Float.parseFloat(ones[0]);

sideb=Float.parseFloat(ones[1]);

sidec=Float.parseFloat(ones[2]);

输出

根据输入的三条边判断,如果不是三角形则输出提示信息,如果是普通三角形则输出三边长,如果是直角三角形还要再输出周长和面积值。输出部分代码参考:

if(triangle.isTriangle()) {

System.out.println(“三角形三条边长–“+%这里获取第一条边%+”,\t”+%这里获取第二条边%+”,\t”+%这里获取第三条边%);//说明:%%括住的部分需要用自己的代码替换

if (%调用直角三角形类isRightTriangle()%)//说明:%%括住的部分需要用自己的代码替换

System.out.println(“直角三角形周长:”+%调用自己构造的getPerimeter()方法%+”\t直角三角形面积:”+%调用自己构造的getArea()方法%);//说明:%%括住的部分需要用自己的代码替换

}

else

System.out.println(“请输入正确的三条边数据”);

}

难度

一般

输入示例

**输入为英文逗号分隔的三条边长,例如:

3,3,3

**如果是直角三角形,则输入如:

3,4,5

**如果不是三角形的三条边,则输入如:

2,3,5

(注:星号开头的不是输入中的内容,输入只是其下面的一行)

输出示例

**如果判定是三角形,则输出三条边的边长,例如:

三角形三条边长–3.0, 3.0, 3.0

**如果还是直角三角形,还需要输出其周长和面积值,如:

三角形三条边长–3.0, 4.0, 5.0

直角三角形周长:12.0 直角三角形面积:6.0

**如果输入的不是三角形,则输出提示信息:

请输入正确的三条边数据

(注:星号开头的不是输出中的内容,输出只是其下面的一行)

import java.util.Scanner;
public class B23 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner s=new Scanner(System.in);
        String trangleOne=s.nextLine();
        String[] ones=trangleOne.split(",");
        float sidea,sideb,sidec;
        sidea=Float.parseFloat(ones[0]);
        sideb=Float.parseFloat(ones[1]);
        sidec=Float.parseFloat(ones[2]);
        Triangle triangle=new Triangle(sidea,sideb,sidec);
        if(triangle.isTriangle()==1) {
            System.out.println("三角形三条边长--"+sidea+",\t"+sideb+",\t"+sidec);//说明:%%括住的部分需要用自己的代码替换
            if (triangle.isRightTriangle()==1)//说明:%%括住的部分需要用自己的代码替换
            System.out.println("直角三角形周长:"+triangle.getPerimeter()+"\t直角三角形面积:"+triangle.getArea());//说明:%%括住的部分需要用自己的代码替换
            }
            else
            System.out.println("请输入正确的三条边数据");
            }
}       
class Triangle{
    String name;
    float a,b,c;
    public Triangle(float a,float b,float c) {
        this.a=a;
        this.b=b;
        this.c=c;
    }
    public int isTriangle() {
        if(a+b>c&&(c-b<a||c-a<b)) {
            return 1;
        }
        else {
            return 0;
        }
    }
    public int isRightTriangle() {
        if(a*a+b*b==c*c) {

3.接口

1.抽象类和抽象方法

方法中缺少方法体

abstract class 抽象类名{
属性;
访问权限 返回值类型 方法名称(参数){      //普通方法
return 返回值;
}
访问权限 abstract 返回值类型 抽象方法名称(参数);  //抽象方法
}

注:a.抽象方法必须再抽象类中;

b.使用abstract关键字

c.如果一个类继承了抽象类,子类必须实现抽象类中所有的抽象方法;

2.接口

全由抽象方法组成的纯抽象类叫做接口,还可包括默认方法和静态方法;

public interface 接口名 extends 接口一,接口二...{
public static final 数据类型 常量名 = 常量值;
public abstract 返回值类型 抽象方法名称(参数);
}

例题:

B3–java(接口)

(时间限制:1000ms 内存限制:65536KB)

描述统计

利用接口做参数,写个计算器,能完成加减乘除运算。

(1)定义一个接口Compute含有一个方法int computer(int n, int m)。

(2)设计四个类分别实现此接口,完成加减乘除运算。

(3)设计一个类UseCompute,类中含有方法:public void useCom(ICompute com, int one, int two),此方法能够用传递过来的对象调用computer方法完成运算,并输出运算的结果。

(4)设计一个主类Test,调用UseCompute中的方法useCom来完成加减乘除运算。

如果加减乘除对应的四个类分别是:Add、Minus、Mul、Div,那么 main方法的代码如下:

public static void main(String[] args) {

// TODO Auto-generated method stub

UseCompute fun=new UseCompute();

Scanner s=new Scanner(System.in);

int i=s.nextInt();

int j=s.nextInt();

fun.UseCom(new Add(),i,j);

fun.UseCom(new Minus(),i,j);

fun.UseCom(new Mul(),i,j);

fun.UseCom(new Div(),i,j);

}

输入

输入要参与算数运算的两个整数,如8 2

输出

8+2 is 10

8-2 is 6

8*2 is 16

8/2 is 4

难度

中等

输入示例

10

5

输出示例

10+5 is 15

10-5 is 5

10*5 is 50

10/5 is 2

import java.util.Scanner;
public class B3 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        UseCompute fun=new UseCompute();
        Scanner s=new Scanner(System.in);
        int i=s.nextInt();
        int j=s.nextInt();
        fun.UseCom(new Add(),i,j);
        fun.UseCom(new Minus(),i,j);
        fun.UseCom(new Mul(),i,j);
        fun.UseCom(new Div(),i,j);
    }
}
interface Compute{
    void computer(int n, int m);
}
class Add implements Compute{
    public void computer(int n, int m) {
        System.out.printf("%d+%d is %d\n", n,m,n+m);
    }
}
class Minus implements Compute{
    public void computer(int n, int m) {
        System.out.printf("%d-%d is %d\n", n,m,n-m);
    }
}
class Mul implements Compute{
    public void computer(int n, int m) {
        System.out.printf("%d*%d is %d\n", n,m,n*m);
    }
}
class Div implements Compute{
    public void computer(int n, int m) {
        System.out.printf("%d/%d is %d", n,m,n/m);
    }
}
class UseCompute{
    public void UseCom(Compute com, int one, int two)
    {
        com.computer(one, two);
    }
}

3.内部类

定义在另一个类中的类叫内部类,内部类可以对同一个包中的其他类隐藏,内部类方法可以访问定义在这个类的作用域中的数据,包括原本私有的数据。

a.成员内部类

外部类名.内部类名 变量名=new 外部类名().new 内部类名();

class A{
int m=0;
void test1 () {
System.out.println("外部类成员方法");
}
class Inner {
int n=1;
void show1(){
System.out.println("外部成员变量m="+m);
test1();
}
void show2 () {
System.out.println("内部类成员方法");
}
}
void test2 (){
Inner inner =new Inner();
System.out.println("局部内部类变量n="+n);
inner.show();
}
}

注:成员内部类可以访问外部类的所有成员

b.局部内部类

class A{
int m=0;
void test1() {
System.out.println("外部类成员方法");
}
void test2 (){
class Inner{
int n=1;
void show(){
System.out.println("外部成员变量m="+m);
test1();
}
}
Inner inner =new Inner();
System.out.println("局部内部类变量n="+n);
}
}

注:局部内部类可以访问外部类的所有成员变量和方法,而局部内部类中的变量和方法只能在所属方法中访问。

c.静态内部类

外部类名.静态内部类名 变量名 = new 外部类名().静态内部类名();

class A{
static int m=0;
static class Inner {
int n=1;
void show(){
System.out.println("外部静态变量m="+m);
}
}
}

注:静态内部类只能访问外部类的静态成员

d.匿名内部类

new 父接口(){
//匿名内部类实现部分}
interface A{
void shout();
}
public class Test{
public static void main (String[] args){
String name="小明";
as(new A(){
public void shout(){
System.out.println(name+"xiaoming");
}
});
}
public static void as(A a){
a.shout();
}
}

4.异常

a. try…catch

try{
//程序代码
}catch(ExceptionType e){
//对ExceptionType的处理
}

b. throws关键字

修饰符 返回值类型 方法名 (参数…) throws 异常类1,异常类2…{

//方法体

}

例题:

Java202期末M6

(时间限制:1000ms 内存限制:65536KB)

描述统计

创建一个由10个由1-10整数顺序构成的数组。提示用户输入数组的下标,然后显示对应的元素值。如果下标越界,就抛出异常。显示消息Out Of Bounds!。

输入

下标

输出

对应的值或抛出异常

难度

中等

输入示例

4

输出示例

5

import java.util.Scanner;
public class Java202期末M6 {
 
    public static void main(String[] args) throws ArrayIndexOutOfBoundsException{
        // TODO Auto-generated method stub
    Scanner iScanner=new Scanner(System.in);
    int a; 
    a=iScanner.nextInt();
    try{
 
        te(a);
 
    }catch (ArrayIndexOutOfBoundsException e) {
 
        System.out.println("Out Of Bounds!");
 
    }
    }
    public static void te(int x) throws ArrayIndexOutOfBoundsException{
    int[] c;
    c=new int[10];
    for(int i=0;i<=x;i++) {
        c[i]=i+1;
    }
    System.out.printf("%d\n", c[x]);
}
}
本文链接:https://www.dzdvip.com/34483.html 版权声明:本文内容均来源于互联网。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 395045033@qq.com,一经查实,本站将立刻删除。
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年7月7日 21:34
下一篇 2022年7月7日 22:07

相关推荐

  • 集五福福字图片(集五福字图片大全)

    支付宝隐藏额外的特殊福字图片为大家准备好了。能获得敬业福、万能福、沾福气卡。祝大家早日合成五福。 支付宝扫五福专用福字图片大全 扫五福卡福字图片 扫五福卡福字图片 扫万能福专用隐藏福字图片 扫沾福气卡专用隐藏福字图片 以下都是2022扫出敬业福万能福沾福气卡等五福专用福字图片大全。

    2022年1月20日
    110
  • iPhone13和iPhone12哪个香?(iphone12和13哪个好)

    iPhone13如期而至。外形几乎不变,配置升级却降价发售,不少网友直呼真香。那么,这一代手机能像iPhone12一样给苹果带来惊喜吗?感兴趣的朋友可以关注一下。     那么,iPhone12究竟在8月份的线上表现如何?小米、荣耀、vivo、OPPO等品牌在8月又有什么新动作?我们结合鲸参谋对京东平台手机品类的销售数据汇总来简单分析一下。   根据鲸参谋数据显示,今年8月份京东平台手机销量超400万件,销售额超110亿元,环比上个月有小幅度的下滑。不过,品牌和动销sku数量却有环比增长。   *数据源于鲸参谋 同时,在品牌排行方面,我们发现今年8月小米以月销超百万件超过苹果,市占率达到33%左右。苹果月销量超70万件排名第二,市占率在17%左右。排名第三的是荣耀,月销量超50万件,市占率在13%左右。此外,按销量顺序排依次是vivo、OPPO、real me、华为、天语、一加和诺基亚。   *数据源于鲸参谋 同理,店铺排名情况与品牌排名情况几乎一致。小米京东自营旗舰店月销量超百万件排名第一,Apple产品京东自营旗舰店和荣耀京东自营旗舰店分别排名第二、第三。不过从增长方面来看,real me京东自营旗舰店以环比增长34%左右排名上升飞快,较7月份排名上升2位。   *数据源于鲸参谋 在热销商品方面,iPhone12依然是销量王者。在热销TOP商品榜中,iPhone12占了4个席位。不过,热销第一的是Redmi 9A,8月销量超9万件,市场均价在599元。排名第二的iPhone12白色128G月销量则超8万件,市场均价在6599元。   *数据源于鲸参谋

    2021年9月16日
    17
  • 苹果A15处理器跑分曝光:GPU性能比A14提升44%

    苹果A14处理器的性能已经让安卓难以望其项背,而即将搭载于iPhone 13系列的A15,将继续扩大优势。 有爆料人透露,今年7月份的样机测试中,A15处理器在GFXBench Manhattan 3.1场景中,跑出了198FPS的成绩。稍稍有些遗憾的是,第二次测试时GPU降频,导致成绩下滑到了140~150FPS。 经查快科技手机SoC榜单,苹果A14是GFXBenc曼哈顿3.1场景目前全球最高分,为137FPS,也就是A15的GPU性能最高提升了44%。当然,老外称A14其实能跑到170.7FPS,这样话增幅是16%。 安卓SoC方面,麒麟9000成绩119最高,其次是骁龙888 Plus的118FPS,A15对比之下的增幅分别是66%和67%。 同样是曼哈顿3.1,A14对比A13的性能增幅是35%。 当然,曼哈顿3.1只是衡量GPU的一种手段,根据苹果官方数据,整体来看,A14相较于A13,CPU性能增幅大概16%,GPU性能增幅则仅有8.3%。 据称,A15仍旧是一颗6核CPU处理器,工艺升级到台积电N5P,也就是5nm增强版。

    2021年9月7日
    42
  • 华人华侨华裔的区别(华人华侨华裔哪个是中国国籍)

    华侨拥有中国国籍,本质上还是中国人,只是长期生活或定居在国外,因此收到中国法律的保护和约束。而华人和华裔一般属于外国国籍,只要生活在中国境外,就不会受到中国法律的保护和约束。华人在另一个角度也是中国人的统称,还包括散居在世界各地的中国人,而华裔只是血统为中国人,国籍并不在中国。华侨和华人的出生地可以在国内,也可以在国外,而华裔是华人后裔的简称,其出生地一般是在国外。 华人华侨华裔哪个是中国国籍 你知道华人、华裔、华侨的区别吗?其实我们很多人都理解错了。虽然他们都含有华夏民族的血统,但是他们严格来讲,并不全是中国人。 下面就让我们一起来看看他们之间的区别吧。 华人、华裔、华侨的区别 问到华人、华裔、华侨哪个是中国人,许多人的第一反应是华人。那么华人到底是不是中国人呢?   首先华人是指出生的时候是中国国籍,后加入了外国国籍的中国人,比如加入美国,那么他就是“美籍华人”,由于他们宣誓效忠别的国家了,所以不再享有中国公民该享有的权利。 而华侨是指那种常年在外国打工侨居外国,他们拿着中国的护照长期生活在国外,却始终保留着中国国籍,当他们有难去大使馆求救的时候,中国是有义务帮助他们的。 华裔则是长期生活在外国,已经入了外国国籍的中国人生下来的第二代,他们一生下来就拥有当地的国籍。由于中国法律规定不能享有双重国籍,当他们拥有了外国国籍的时候就意味着已经放弃了中国国籍。 所以华人,华裔,华侨三者区别就是谁拥有中国国籍,谁就是中国人,所以严格来说只有华侨是中国人。 由于中国国籍采用的是“宽出严进”原则,更改国籍很容易,也就二百五十块钱,改的机会不多就这么一次。 若想要重新获取中国国籍又或者是外国人想要入中国国籍,除非是对国家有着非常突出的功勋才有可能入得了中国国籍,所以不要轻易放弃中国国籍。 华人、华侨是怎样的一个特殊群体呢? 华人、华侨在全球分布非常广的,主要分布在印度尼西亚、美国、日本、越南等地。虽是海外侨胞,但有着一颗爱国心,他们以一种特殊的方式回报着祖国,对新中国的改革开放、中国的发展也有着突出贡献。比如爱国侨领陈嘉庚。 常年生活在国外的陈嘉庚目光长远,眼光独到,明白经济发展是远远不够的,国内外教育水平的差距很大,所谓:“青年之基,国之根本”,还是得注重教育。 于是爱国侨领陈嘉庚以“取诸社会,用诸社会”的观念,倾资创办厦门大学、集美大学。 此外广大的海外华侨聚集了…

    2022年12月16日
    52
  • 支付宝借呗开通及提额攻略

    众所周知,借呗是蚂蚁集团针对支付宝用户推出一款个人消费贷款产品,具有利息低、随借随还、秒申请秒放款等优势。 相信已经有不少人已经开通了借呗,相比于腾讯的微粒贷,借呗的普及率是远高于微粒贷的,但即便如此,仍然还是有很多的支付宝用户没有开通借呗,他们希望能够早日开通借呗,体验一下支付宝的这款信用借款产品。 今天就来聊一聊支付宝借呗到底应该如何开通,以及开通后如何才能快速提额? 一、借呗的开通条件 根据支付宝官方的论述,用户如果想要开通借呗必须满足以下三个基本条件: 1、账户必须经过实名认证 2、账户必须有绑定手机号 3、账户状态正常 如果你的账户不具备以上三个基本条件,那么你是无法开通借呗的。 在满足以上三个条件的情况下,再根据每一位支付宝用户的综合使用情况由系统不定期评估,最终决定是否给予开通借呗,并授予相应额度。 由此可见,借呗的开通是由系统自动通过大数据分析筛选后的结果,这跟开通腾讯的微粒贷是一个道理,只能系统主动邀请,用户是无法主动申请的。 那么在你具备3个基本条件的情况下,究竟应该怎么做、做什么才能够提高开通借呗的几率呢? 1、优化并提升芝麻信用分 虽说借呗的开通并不受芝麻分高低的影响,因为确实有不少芝麻分低的用户也开通了借呗,但是芝麻分的不断提升对你开通借呗绝对是百利而无一害的。 所以不断优化你的芝麻信用,完善你在支付宝的个人信息,尽可能多的提供你的职业、收入及资产证明是非常有必要的,这些都是可以证明你履约能力的重要凭证。 然后就是不断想办法提升你的芝麻信用分,因为分数越高,证明你在支付宝的信用越好,越有利于你更早的开通借呗。 关于如何提高芝麻分可以参考这篇文章:如何快速提高你的芝麻信用分? 2、开通并用好花呗 据我的观察,很多人开通借呗都是发生在开通花呗并正常使用一段时间之后才有的。 因为借呗其实就跟银行背后的现金借款一样,在前期你还没有跟银行建立深度链接之前,银行无法考量你的信用状况。 这个时候,银行需要通过发行信用卡这样的工具,对客户的信用进行一段时间的观察与考量,从中筛选出一些资质优良的客户,授信更多的信用额度。 而支付宝也是一样,花呗就是作为考量用户个人信用、开通借呗的一个敲门砖,通过不断使用花呗购物、支付,保持一定的活跃度与贡献度,从而与支付宝建立深度链接,长此以往,开通借呗就是水到渠成的事了。 而很多人往往忽视了这一点,他们有花呗额度,但却很少…

    2021年6月2日
    24
  • 籍贯怎么填写(籍贯是户口所在地吗)

    “籍贯填祖居地或原籍,指祖辈居住地或个人的出生地。籍贯一般从父,个别从母系的;从祖籍,祖籍是指祖辈的长久居住地,按地域划分。填写籍贯时,具体到县(市)即可,不需要更细化省/自治区/直辖市。 籍贯是户口所在地吗 现在在填写很多资料的时候,有一个栏目会经常出现,那就是籍贯。 看到籍贯,很多人其实都不明白是什么东西,大多数人都简单理解为所谓籍贯就是自己老家的地址。 但籍贯跟祖籍完全是两回事,那籍贯到底是什么?为什么要填写籍贯?它存在的意义又是什么呢?针对这个问题我们来一一解答一下。 首先来看一下、什么是籍贯? 所谓籍贯,根据公安部《关于启用新的常住人口登记表和居民户口簿有关事项的通知》公通字[1995]91号文件规定: 公民的籍贯应为本人出生时祖父的居住地(户口所在地);祖父去世的,填写祖父去世时的户口所在地;祖父未落常住户口的,填写祖父应落常住户口的的地方;公民登记籍贯后,祖父又迁移户口的,该公民的籍贯不再随之更改。 简单来说,婴儿的籍贯就是他出生的时候祖父的户口所在地。 如果不能确定祖父居住地的,随父亲籍贯,不能确定父亲籍贯的,登记本人的出生地。   由此可以看出,籍贯主要跟祖父的户口所在地有很大的关系,比如一个人的祖父在湖南长沙出生,祖祖辈辈都在湖南长沙,他的祖籍就是湖南长沙。 但在这个婴儿出生之前,他的祖父搬到广东深圳居住了,户口也随之迁到深圳居住,那这个婴儿的籍贯就是广东深圳,而不是湖南长沙。 接着再来看下,为什么要填写籍贯? 有人说之所以要填写籍贯,是为了让大家记住祖先是从哪里来的,不能忘本,其实籍贯设立的本意并不是这个目的。 我觉得籍贯的存在,更多的是一种历史的产物,籍贯开始出现在上世纪90年代,当时正是我国人口流动比较频繁的开始,很多人都在全国各地流动,在这种背景之下,人跟户口分离,人跟祖籍分离很正常。 而当时有很多人在找工作的时候,特别是在机关事业单位工作的时候都要进行政审政,审就会追溯到父辈,甚至爷爷辈,还会特别关注你是来自哪里,你是哪里人。 为了配合这种特殊的就业环境,所以当时在户口登记的时候都会填写籍贯很正常。 另外填写籍贯也有利于对流动人口进行统计分析。 比如有一些人跨省工作之后,就可能把户口迁到外省去,这时候他的儿女出生的时候就必须填写籍贯,我觉得填写籍贯更多是为了方便管理人口,方便统计人口的流动,为人口政策的决策提供更多的参考数据。…

    2022年12月10日
    52